Oldukça benzer bir sorgu üzerinde çalışıyorum şu: Ben gerçekte görmek istiyorum sonuç, beklendiği üzere olanSELECT DISTINCT'deki NULL'leri ortadan kaldırmanın en kolay yolu?
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
,
a b
-------
A NULL
A B
B NULL
çıktısı:
a b
-------
A B
B NULL
Yani, bir sütunda bazı kayıtlarda bir değer varsa ancak başkalarında değilse, o sütunda NULL ile satır atmak istiyorum. Ancak, bir sütun tüm kayıtlar için bir NULL değerine sahipse, bu NULL'u korumak istiyorum.
Tek bir sorguda bunu yapmanın en basit/en zarif yolu nedir?
Bir Cuma öğleden sonra bitmemiş olsaydım bunun basit olacağını hissediyorum.
'a'' b' bir boş olmayan değerden daha fazla sütunun bir değere sahip miyim? Eğer durum buysa, iki değeri de almayı mı bekliyorsunuz? –
Üzgünüm, bugün buna geri döndüm. Gruptaki tüm kayıtlar için, her sütun:% 100 tek bir değerle,% 100 NULL ile doldurulur veya kısmen tek bir değer ve kısmen NULL ile doldurulur. Örneğin: (1, 2, NULL), (1, 2, NULL), (1, NULL, NULL), (1, 2, NULL) olarak küçültülmelidir. –