In einer MySQL-Tabelle gibt es zwei Spalten: SUBJECT
und YEAR
.
Ich möchte eine alphanumerische eindeutige Nummer generieren, die die verketteten Daten aus SUBJECT und YEAR enthält.
Wie kann ich das machen? Kann ein einfacher Operator wie +
verwendet werden?
Sie können die Funktion CONCAT
folgendermaßen verwenden:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Aktualisieren:
Um dieses Ergebnis zu erhalten, können Sie Folgendes versuchen:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
Sie können dafür die in CONCAT () eingebaute php verwenden.
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
Ändern Sie den Namen als Anforderung
dann ist das Ergebnis
und wenn Sie möchten, dasselbe Feld mit anderen Feldern, die dann gleich sind
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
In PHP gibt es zwei Möglichkeiten, Tabellenspalten zu verketten.
Erste Option mit Abfrage
In der Abfrage wird das SchlüsselwortCONCATzum Verketten von zwei Spalten verwendet
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
Zweite Option mit Symbol (.)
Nachdem Sie die Daten aus der Datenbanktabelle abgerufen haben, weisen Sie die Werte der Variablen zu, verwenden Sie dann (.) Symbol und verketten Sie die Werte
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
Anstelle von Unterstrich (_) werden Leerzeichen, Komma, Buchstaben, Zahlen usw. verwendet
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');