Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Lajur Tidak Diketahui' Apabila Menggunakan CONCAT dalam Klausa MySQL WHERE?
MySQL Select with CONCAT Condition: Menyelesaikan Ralat "Unknown Column"
Apabila menggunakan fungsi CONCAT untuk menggabungkan berbilang lajur dalam pertanyaan MySQL, anda mungkin menghadapi ralat "lajur tidak diketahui" jika anda cuba merujuk rentetan bercantum sebagai lajur dalam klausa WHERE.
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
Ulangi Ungkapan CONCAT:
Ini melibatkan pengulangan ungkapan CONCAT dalam klausa WHERE.
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast FROM users WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
Balut Pertanyaan:
Kaedah ini melibatkan membungkus pertanyaan asal dalam subkueri dan kemudian merujuk rentetan bercantum sebagai lajur dalam klausa WHERE pertanyaan luar.
SELECT * FROM ( SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast FROM users) base WHERE firstLast = "Bob Michael Jones"
Dengan melaksanakan salah satu daripada pilihan ini, anda boleh menggabungkan berbilang lajur dan menggunakan rentetan yang digabungkan sebagai keadaan carian dalam pertanyaan MySQL anda.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Lajur Tidak Diketahui' Apabila Menggunakan CONCAT dalam Klausa MySQL WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!