Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Lajur Tidak Diketahui' Apabila Menggunakan CONCAT dalam Klausa MySQL WHERE?

Bagaimana untuk Menyelesaikan Ralat 'Lajur Tidak Diketahui' Apabila Menggunakan CONCAT dalam Klausa MySQL WHERE?

Barbara Streisand
Barbara Streisandasal
2024-11-20 04:05:02245semak imbas

How to Resolve

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:

  1. 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"
  2. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn