Keine erforderlich join:
wenn dayorder_parent
Referenzen dayorder_number
, dann:
select d.*
from dayorder d
order by
isnull(d.dayorder_parent,d.dayorder_number)
, d.dayorder_number
wenn dayorder_parent
Referenzen dayorder_cod
, dann:
select d.*
from dayorder d
order by
isnull(d.dayorder_parent,d.dayorder_cod)
, d.dayorder_cod
wenn dayorder_sequence
ist wichtig für die Bestellung
select d.*
from dayorder d
order by
isnull(d.dayorder_parent,d.dayorder_cod)
, d.dayorder_sequence
Wie es funktioniert: die Abfrageergebnisse geordnet durch die dayorder_parent
, aber die erste Zeile für jede Bestellung wird einen Wert vonhabenfür dayorder_parent
.
Mit isnull(d.dayorder_parent,d.dayorder_number)
können wir sagen, dass, wenn eine Bestellung kein Elternteil hat, verwenden Sie stattdessen dayorder_number
. Kinder von 100 werden mit 100 gruppiert, und jede Gruppe wird weiter von ihrer individuellen dayorder_number
bestellt.
Hinweis: Sie können coalesce()
anstelle von isnull()
verwenden, um die gleichen Ergebnisse zu erhalten. Ich neige dazu, coalesce()
nur zu verwenden, wenn ich den ersten Nicht-Null-Wert von einem Satz von 3 oder mehr Werten erhalten muss, da isnull()
nur zwei Parameter unterstützt.
Sie bitte das DBMS markieren Sie – TheGameiswar