Twoja pierwsza odpowiedź SELECT CONCACT(SUBJECT, ' ', YEAR)naprawdę mi pomogła. +1
FastTrack
4
Wynik jest pusty, gdy którykolwiek wiersz w polach do konkatacji jest pusty. Jakie jest rozwiązanie tego problemu?
TSR
2
@TSR Dobre pytanie! Znalazłem odpowiedź dla Ciebie. Jeśli jedno z pól jest puste, musisz użyć operacji MySQL IFNULL. Więc powyżej wyglądałoby tak: SELECT CONCAT (IFNULL ( SUBJECT, ''), '-', IFNULL ( YEAR, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) FROMtable
Logan
17
Możesz użyć do tego php wbudowanego w CONCAT ().
SELECTCONCAT(`name`, ' ', `email`) as password_email FROM`table`;
zmień nazwę pola jako wymaganie
wtedy wynik jest
a jeśli chcesz połączyć to samo pole, używając innego pola, które to samo
SELECT filed1 ascategory,filed2 as item, GROUP_CONCAT(CAST(filed2 asCHAR)) as item_name FROM`table`groupby filed1
SELECT CONCACT(SUBJECT, ' ', YEAR)
naprawdę mi pomogła. +1SUBJECT
, ''), '-', IFNULL (YEAR
, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) FROMtable
Możesz użyć do tego php wbudowanego w CONCAT ().
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
zmień nazwę pola jako wymaganie
wtedy wynik jest
a jeśli chcesz połączyć to samo pole, używając innego pola, które to samo
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
to jest wyjście
źródło
W php mamy dwie możliwości konkatenacji kolumn tabeli.
Pierwsza opcja za pomocą zapytania
W zapytaniu słowo kluczowe CONCAT używane do konkatenacji dwóch kolumn
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
Druga opcja za pomocą symbolu (.)
Po pobraniu danych z tabeli bazy danych przypisz wartości do zmiennej, następnie za pomocą (.) Symbol i połącz wartości
$subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year;
Zamiast podkreślenia (_) użyjemy spacji, przecinka, liter, cyfr… itd
źródło
$crud->set_relation('id','students','{first_name} {last_name}'); $crud->display_as('student_id','Students Name');
źródło