Ich habe mich sehr verwirrt.
Könnte jemand freundlich erklären, unter welchen Umständen ich eine GROUP BY COALESCE verwenden möchte?
Ich vermute, dass ich es verwenden würde, wenn ich einen Datensatz nach Spalte B (wenn B nicht null war) und nach Spalte A ansonsten bedingt gruppieren wollte. Klingt das richtig?
TUPLE { a 17 , b 1 }
ist dies dasselbe wieTUPLE { b 1 , a 17 }
in SQL, aber der Zeilenwertkonstruktor(17, 1)
ist nicht derselbe wie der Zeilenwertkonstruktor(1, 17)
. Aus diesem Grund sind Ihre "Paare" keine Tupel. Da Sie eine Reihe Typkonstruktor weggelassen habe ich muss annehmen , aus dem Kontext sind sie(a, b)
nicht ,(b, a)
aber ihre Aufnahme wäre es immer noch nicht ein Tupel machen. Im Gegensatz dazuTUPLE { 17 , 1 }
ist in Tutorial D weder ein gültiger Tupelaufruf noch ein gültiger TupelaufrufTUPLE { a null , b 1 }
.Hier ist eine Demonstration der ausgezeichneten +1 Antwort von a_horse_with_no_name .
quelle