Byłem bardzo zdezorientowany.
Czy ktoś mógłby uprzejmie wyjaśnić, w jakich okolicznościach chciałbym skorzystać z GROUP BY COALESCE?
Domyślam się, że użyłbym tego, gdybym chciał warunkowo pogrupować zestaw danych według kolumny B (jeśli B nie był równy null) i według kolumny A inaczej. Czy to brzmi dobrze?
TUPLE { a 17 , b 1 }
jest taki samTUPLE { b 1 , a 17 }
, ale w SQL konstruktor wartości wiersza(17, 1)
nie jest taki sam jak konstruktor wartości wiersza(1, 17)
. Dlatego twoje „pary” nie są krotkami. Ponieważ pominąłeś konstruktor typu wiersza, muszę raczej założyć z kontekstu, że są(a, b)
, niż,(b, a)
ale jego włączenie nadal nie sprawi, że będzie to krotka. W przeciwieństwie do tego,TUPLE { 17 , 1 }
nie jest poprawnym wywołaniem krotki w samouczku D, ani nie jestTUPLE { a null , b 1 }
.Oto demonstracja doskonałej odpowiedzi +1 konia .
źródło