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 +
?
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`
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
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
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.
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');