W tabeli MySQL znajdują się dwie kolumny: SUBJECTi YEAR.
Chcę wygenerować alfanumeryczny, niepowtarzalny numer, który przechowuje połączone dane z TEMATU i ROKU.
Jak mogę to zrobić? Czy można użyć prostego operatora, takiego jak +?
W tabeli MySQL znajdują się dwie kolumny: SUBJECTi YEAR.
Chcę wygenerować alfanumeryczny, niepowtarzalny numer, który przechowuje połączone dane z TEMATU i ROKU.
Jak mogę to zrobić? Czy można użyć prostego operatora, takiego jak +?
Odpowiedzi:
Możesz użyć tej CONCATfunkcji w następujący sposób:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Aktualizacja:
Aby uzyskać taki wynik, możesz spróbować tego:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
SUBJECT, ''), '-', 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
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
SELECT CONCACT(SUBJECT, ' ', YEAR)naprawdę mi pomogła. +1