Pchełki SQL: małe – duże

Praca programisty jest – przynajmniej w teorii – fajna, prosta i przyjemna. Dostajemy projekt, dostajemy dokumentację, z której jednoznacznie wynika co mamy na wejściu i co chcemy dostać na wyjściu, siadamy, piszemy kod, testujemy kod, prosimy kilku użytkowników, żeby przetestowali wyniki i jak wszyscy są zadowoleni, wrzucamy kod do ogólnego użytku, wystawiamy fakturę i voila, gotowe.

A zaraz potem przybiega pierdzący tęczą jednorożec w towarzystwie reniferów, Świętego Mikołaja i uczciwego polityka…

Czytaj dalej >>Pchełki SQL: małe – duże

Pchełki SQL: Drobiazg, a cieszy

Dziś prościutki trick pomocny wszystkim piszącym duże ilości kodu SQL.

Jak wszyscy wiedzą[citation needed] w Visual Studio można tworzyć regiony kodu, czyli takie bloki, które automatycznie „dostają” na marginesie edytora ikonkę minusika w kwadraciku (po naszemu: minusa w kwadracie), umożliwiającą „zwinięcie” całego bloku do jednej linii.

Czytaj dalej >>Pchełki SQL: Drobiazg, a cieszy

Pchełki SQL: LAG

Operatory analityczne są często traktowane po macoszemu przez padawanów sztuki SQL-owej. Czasem jednak potrafią one zaoszczędzić mnóstwo czasu. Dziś pokażę, jak działa operator LAG.

Jednym z klasycznych problemów, przed którymi staje większość programistów SQL, jest wykonanie zestawienia, w którym chcemy pokazać wartości z rekordu bieżącego wraz z wartościami z rekordu poprzedniego, w jednym rekordzie.

Typowym podejściem jest tu utworzenie CTE z ROW_NUMBER(), a następnie wykonanie JOIN-a tego CTE z samym sobą po kolumnie ROW_NUMBER() z nią samą zmniejszoną o jeden. Czyli po naszemu tzw. self-join.

Czytaj dalej >>Pchełki SQL: LAG