In meinem Fall habe ich 2 Tabellen Projekt und Aktivität und sie sehen so aus.Wie mit Unterabfrage umzugehen, die mehr als 1 Wert zurückgibt
Projekt ist der Tisch an der Spitze und Aktivität an der Unterseite.
In der Aktivitätstabelle sind activityID und projectID Primärschlüssel.
Was ich versuche zu erreichen, ist eine View zu erstellen, die alle Projekte zurückgibt, die über Aktivitäten verfügen, deren Enddatum später als das Project projectedEndDate ist.
Zusammenfassend möchte ich dies tun:
SELECT *
FROM Project
WHERE (SELECT MAX(endDate) FROM Activity GROUP BY projectID) > projectedEndDate
Aber ich erhalte den folgenden Fehler:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Danke
Fügen Sie ein 'LIMIT 1' hinzu? –
@DavidHoelzer Da die Unterabfrage nach der Projekt-ID gruppiert ist, ist "Limit 1" nicht das, was OP benötigt, da er möglicherweise Daten von einem falschen Projekt erhält. – dasblinkenlight
"LIMIT 1" ist auch ** nicht ** Standard-SQL. Es funktioniert nur auf MySql, und diese Frage ist mit Sql Server markiert. –