Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterabfrage gibt mehr als 1 Zeile

Ihre beiden äußeren Abfragen sind so strukturiert, dass sie ein einziges Ergebnis von ihren Unterabfragen erwarten. Aber so wie Sie die Dinge strukturiert haben, könnten Ihre Unterabfragen mehr als ein Ergebnis zurückgeben. Wenn Sie wirklich wollen mehr als ein Ergebnis, strukturieren Sie es wie folgt um:

... where disease_id IN (subquery returning multiple rows...)

Außerdem sind Unterabfragen die Leistung zunichte und bei verschachtelten Unterabfragen ist sie exponentiell schlechter. Vielleicht möchten Sie sich mit der Verwendung von INNER JOIN befassen stattdessen.