Gibt einen Fehler an, dass die Unterabfrage mehr als eine Zeile zurückgibt. Was ist die Ursache?
Ihre beiden äußeren Abfragen sind so strukturiert, dass sie ein einzelnes Ergebnis aus ihren Unterabfragen erwarten. Aber so, wie Sie Dinge strukturiert haben, geben Ihre Unterabfragen möglicherweise mehr als ein Ergebnis zurück. Wenn Sie mehr als ein Ergebnis wünschen, restrukturieren Sie es wie folgt:
%Vor% Unterabfragen sind auch die Kill-Leistung und exponentiell für verschachtelte Unterabfragen. Vielleicht möchten Sie stattdessen INNER JOIN
verwenden.
Wenn Sie Ihre Anfrage abbrechen, haben Sie
Hauptabfrage:
%Vor%Unterabfrage 1:
%Vor%Unterabfrage 2:
%Vor% Da Sie Gleichheitszeichen verwenden, können die Unterabfragen nicht mehrere Elemente zurückgeben. Es scheint, dass Unterabfrage 2 eine größere Chance hat, 2 Elemente zurückzugeben, da OR
verwendet wird. Möglicherweise möchten Sie IN
-Klausel wie WHERE symptom_id IN (sub-query2)
mit WHERE disease_id IN (sub-query1)