MySQL, объединить два столбца

В таблице MySQL есть два столбца: SUBJECT и YEAR .

Я хочу создать буквенно-цифровой уникальный номер, который содержит объединенные данные из SUBJECT и YEAR.

Как я могу это сделать? Можно ли использовать простой оператор типа + ?

Вы можете использовать функцию CONCAT следующим образом:

 SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table` 

Обновить:

Чтобы получить этот результат, вы можете попробовать следующее:

 SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table` 

В php у нас есть два варианта конкатенации столбцов таблицы.

Первый вариант с использованием запроса

В запросе ключевое слово CONCAT используется для конкатенации двух столбцов

 SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`; 

Второй вариант с использованием символа (.)

После извлечения данных из таблицы базы данных присвойте значения переменной, затем используйте (.) Символ и соедините значения

 $subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year; 

Вместо подчеркивания (_) мы будем использовать пробелы, запятые, буквы, цифры ..etc

Вы можете использовать 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 

то это выводится введите описание изображения здесь

сначала создайте столбец в таблице newcol_name как это: попробуйте это – update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;