Próbuję to skompilować w myślach ... Mam tabelę z polami imię i nazwisko oraz ciąg znaków, taki jak „Bob Jones” lub „Bob Michael Jones” i kilka innych.
chodzi o to, że mam na przykład Bob w imieniu i Michael Jones w nazwisku
więc próbuję
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
ale jest napisane w nieznanej kolumnie „firstlast”… czy ktoś może mi pomóc?
Spróbuj tego:
źródło
źródło
Użyj CONCAT_WS ().
Pierwszy argument jest separatorem dla pozostałych argumentów.
źródło
CONCAT_WS(' ', ..
Próbować:
Twój alias firstlast nie jest dostępny w klauzuli where zapytania, chyba że wykonasz zapytanie jako sub-select.
źródło
Istnieje alternatywa dla powtórzenia
CONCAT
wyrażenia lub użycia podzapytań. Możesz skorzystać zHAVING
klauzuli, która rozpoznaje aliasy kolumn.Oto działające skrzypce SQL .
źródło