Menggabungkan Berbilang Penyata SELECT
Seperti yang telah anda nyatakan, anda menghadapi masalah apabila cuba menggabungkan berbilang pernyataan SELECT yang setiap satu mengehadkan keputusan kepada satu baris. Cabaran timbul apabila menggunakan UNION ALL kerana klausa LIMIT nampaknya mengganggu proses kesatuan.
Untuk menyelesaikan masalah ini, anda boleh menggunakan kurungan untuk menyertakan setiap pernyataan SELECT individu. Ini memastikan kesatuan dilaksanakan dengan betul, kerana dokumentasi untuk UNION menyatakan dengan jelas bahawa klausa ORDER BY dan LIMIT mesti disertakan dalam kurungan untuk digunakan pada subungkapan dan bukannya hasil kesatuan.
Begini cara anda boleh mengubah suai pertanyaan anda:
(SELECT result FROM foo.table LIMIT 1) UNION ALL (SELECT result FROM bar.table LIMIT 1) UNION ALL (SELECT result FROM doo.table LIMIT 1)
Sintaks ini memastikan setiap sub-penyataan diproses secara berasingan, dengan klausa LIMIT digunakan pada hasil individu. Penyatuan kemudiannya dilakukan pada hasil baris individu, memberikan anda satu lajur dengan bilangan baris yang dijangkakan untuk dipadankan dengan nama skema.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Penyata SELECT Berbilang dengan LIMIT 1 dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!