MySql select in eine andere wählen?
Gibt es eine Möglichkeit, dies zu tun?
SELECT sum(price) from table2 WHERE id=(SELECT theid FROM table1 WHERE user_id="myid")
Ich habe Tabelle1 mit den Elementen' IDs ist, dass ein Benutzer gekauft hat. Ich will berechnen Sie die Summe aller gekauften Artikel durch den Benutzer.
Ist die obige Abfrage legal? Wenn nicht, was ist die richtige form?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern
where id=(SELECT
zuwhere id IN (SELECT
Oder was du wirklich willst, ist wohl:
Abfrage ist ok, solange die "Teilauswahl treffen" ist wieder nur eine Zeile jeder Zeit.
wenn es mehr Zeilen zurückgegeben werden, müssen Sie ändern Sie Ihre Abfrage:
HINWEIS: in Sie Fall, einen einfachen inner join, wie andere es vorgeschlagen, wäre viel mehr redable (und vielleicht ein ganz klein bisschen schneller) - aber was du geschrieben hast ist absolut ok (es gibt immer mehrere Möglichkeiten, um das gewünschte Ergebnis zu erhalten - und jetzt ist es immer leicht zu sagen, welches ist "das beste" 😉 )
Können Sie auch die Verwendung der JOIN-syntax
Sollte Ihnen das gleiche Ergebnis
Einen
JOIN
wäre mehr lesbar:Sollten Sie die Verwendung von SQL
JOIN
bieten diese Funktionalität.