web-dev-qa-db-fra.com

MySQL, concaténer deux colonnes

Une table MySQL contient deux colonnes: SUBJECT et YEAR

Je souhaite générer un numéro unique alphanumérique contenant les données concaténées de SUBJECT et YEAR.

Comment puis-je faire ceci? Est-il possible d'utiliser un opérateur simple comme +?

72

Vous pouvez utiliser la fonction CONCAT comme ceci:

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

Mettre à jour:

Pour obtenir ce résultat, vous pouvez essayer ceci:

SET @rn := 0;

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

Vous pouvez utiliser php construit dans CONCAT () pour cela.

SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;

changer le nom du dossier selon vos besoins

alors le résultat est

 enter image description here

et si vous voulez concaténer la même chose en utilisant un autre champ qui est le même alors

SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 

alors ceci est la sortie  enter image description here

5
Shafiqul Islam

En php, nous avons deux options pour concaténer des colonnes de table.

Première option utilisant une requête

Dans la requête,CONCATmot clé utilisé pour concaténer deux colonnes

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

Deuxième option utilisant le symbole (.)

Après avoir récupéré les données de la table de base de données, affectez les valeurs à variable, puis utilisez (.) Symbol et concaténez les valeurs.

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

Au lieu du trait de soulignement (_), nous utiliserons les espaces, les virgules, les lettres, les chiffres, etc. 

4
Vasanth
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');
0
Saravanan