MySQL, объединить два столбца В таблице MySQL есть два столбца: SUBJECT и YEAR. Я хочу сгенерировать буквенно-цифровой уникальный номер, который содержит конкатенированные данные из SUBJECT и YEAR. Как я могу это сделать? Можно ли использовать простой оператор типа +? Ответ 1 Вы можете использовать функцию CONCAT следующим образом: SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table` Update: Чтобы получить этот результат, вы можете попробовать следующее: SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table` Ответ 2 В php у нас есть два варианта конкатенации столбцов таблицы. Первый вариант с использованием запроса В запросе ключевое слово CONCAT используется для конкатенации двух столбцов SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`; Второй вариант с использованием символа (.) После извлечения данных из таблицы базы данных присвойте значения переменной, затем используйте (.) Символ и соедините значения $subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year; Вместо подчеркивания (_) мы будем использовать пробелы, запятые, буквы, цифры..etc Ответ 3 Для этого вы можете использовать php, встроенный в CONCAT(). SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`; то результат и если вы хотите выполнить то же самое, что и в другом поле, которое тогда же SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 то это выводится Ответ 4 сначала создайте столбец в таблице newcol_name следующим образом: попробуйте это - update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;
Ответ 1 Вы можете использовать функцию CONCAT следующим образом: SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table` Update: Чтобы получить этот результат, вы можете попробовать следующее: SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table`
Ответ 2 В php у нас есть два варианта конкатенации столбцов таблицы. Первый вариант с использованием запроса В запросе ключевое слово CONCAT используется для конкатенации двух столбцов SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`; Второй вариант с использованием символа (.) После извлечения данных из таблицы базы данных присвойте значения переменной, затем используйте (.) Символ и соедините значения $subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year; Вместо подчеркивания (_) мы будем использовать пробелы, запятые, буквы, цифры..etc
Ответ 3 Для этого вы можете использовать php, встроенный в CONCAT(). SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`; то результат и если вы хотите выполнить то же самое, что и в другом поле, которое тогда же SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 то это выводится
Ответ 4 сначала создайте столбец в таблице newcol_name следующим образом: попробуйте это - update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;