Bagaimana untuk menyelesaikan ralat "subquery returns more than 1 row".
P粉235202573
2023-08-21 17:36:57
<p>Saya mempunyai pertanyaan yang mengembalikan berbilang baris dan pertanyaan lain di mana saya ingin menetapkan syarat menjadi nilai bagi mana-mana satu daripada berbilang baris ini, jadi pada asasnya saya mahu subkueri kelihatan seperti ini: </p> ;
<pre class="brush:php;toolbar:false;">pilih *
dari meja
di mana id= (pertanyaan berbilang baris);</pre>
<p>Di mana <kod>Pertanyaan berbilang baris</kod> Jadi jika nilai baris ini ialah 1, 2, 3, maka saya mahu id ditetapkan kepada 1 atau 2 atau 3. </p>
Anda boleh menggunakan
in()
:Atau gunakan pautan:
Sambungan bukanlah pilihan yang lebih teruk dari segi prestasi, dan bergantung pada situasi dan pangkalan data yang anda gunakan, mungkin memberikan prestasi yang lebih baik.
=
boleh digunakan apabila subkueri hanya mengembalikan satu nilai.Apabila subkueri mengembalikan berbilang nilai, anda perlu menggunakan
IN
:Contohnya: