Najprostszy sposób na wyeliminowanie NULL w SELECT DISTINCT?
Pracuję nad zapytaniem, które jest dość podobne do następującego:
<code>CREATE TABLE #test (a char(1), b char(1)) INSERT INTO #test(a,b) VALUES ('A',NULL), ('A','B'), ('B',NULL), ('B',NULL) SELECT DISTINCT a,b FROM #test DROP TABLE #test </code>
Rezultatem jest, co zaskakujące,
<code>a b ------- A NULL A B B NULL </code>
Rezultatem, który chciałbym zobaczyć w rzeczywistości, jest:
<code>a b ------- A B B NULL </code>
Oznacza to, że jeśli kolumna ma wartość w niektórych rekordach, ale nie w innych, chcę wyrzucić wiersz o wartości NULL dla tej kolumny. Jeśli jednak kolumna ma wartość NULL dla wszystkich rekordów, chcę zachować tę wartość NULL.
Jaki jest najprostszy / najbardziej elegancki sposób na wykonanie tego w jednym zapytaniu?
Mam wrażenie, że byłoby to proste, gdybym nie był wyczerpany w piątkowe popołudnie.