Saya mencoba untuk mengkompilasi ini dalam pikiran saya .. saya memiliki tabel dengan bidang nama depan dan nama belakang dan saya memiliki string seperti "Bob Jones" atau "Bob Michael Jones" dan beberapa lainnya.
Masalahnya, saya punya misalnya Bob di nama depan, dan Michael Jones di nama belakang
jadi saya mencoba
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
tapi tertulis kolom "firstlast" yang tidak diketahui .. ada yang bisa membantu?
Coba ini:
sumber
sumber
Gunakan CONCAT_WS ().
Argumen pertama adalah pemisah untuk argumen lainnya.
sumber
CONCAT_WS(' ', ..
Mencoba:
Alias firstlast Anda tidak tersedia di klausa kueri di mana kecuali Anda melakukan kueri sebagai sub-pilih.
sumber
Ada alternatif untuk mengulang
CONCAT
ekspresi atau menggunakan subkueri. Anda dapat menggunakanHAVING
klausa, yang mengenali alias kolom.Ini adalah SQL Fiddle yang berfungsi .
sumber