Frage

Ist es möglich, eine select-Anweisung zu verwenden, so dass es Max und min Spalten eines Kindes Reihe foreach Eltern Datensatz zurückgibt?

So foreach geordneten Datensatz, dass viele Kind Aufzeichnungen hat Ich will den Max und Min dieser untergeordneten Datensätze für jede gegebene Spalte sehen.

Wie kann ich dies tun in einer einzigen SELECT-Anweisung?

Es sollte so etwas wie lesen: Zurück zu mir alle übergeordneten Datensätze zwischen erstellten Daten von so und so. Foreach geordneten Datensatz zurückgegeben, zeigen sie mir den Maximalwert der Spalte „a“ in all seinen untergeordneten Zeilen und zeigen Sie mir auch den Minimalwert des Spalts „a“ in all seinen untergeordneten Zeilen.

Endergebnis sollte zeigen:

ParentID, MaxChildColumna, MinChildColumna

War es hilfreich?

Lösung

Sie können etwas tun:

select p.id, max(c.a), min(c.a)
from parent as p
left outer join child as c
on c.parentid = p.id
group by p.id;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top