tarafından elimine edilir: Kont farklı ve null değeri (benim gerçek sorgudan basitleştirilmiş) aşağıda sorgu ile SQL Server 2005 kullanıyorum toplu bir
select a,count(distinct b),sum(a) from
(select 1 a,1 b union all
select 2,2 union all
select 2,null union all
select 3,3 union all
select 3,null union all
select 3,null) a
group by a
olmadan ayrı bir sayımını yapmak için herhangi bir yolu var mı
"Uyarı: null değeri bir agrega veya diğer SET işlemi tarafından elimine edilir." alma İki sorguları sayımı farklı olan birine ayırmak
kapalı
- Torna ANSI_WARNINGS ve toplamı ile tümcesi boş değerlere ortadan kaldırmak için nerede bir tek: Burada Aklıma alternatifler
select t1.a, t1.countdistinctb, t2.suma from ( select a,count(distinct b) countdistinctb from ( select 1 a,1 b union all select 2,2 union all select 2,null union all select 3,3 union all select 3,null union all select 3,null ) a where a.b is not null group by a ) t1 left join ( select a,sum(a) suma from ( select 1 a,1 b union all select 2,2 union all select 2,null union all select 3,3 union all select 3,null union all select 3,null ) a group by a ) t2 on t1.a=t2.a
istemci uyarıyı yok say
Bunu yapmanın daha iyi bir yolu var mı? Muhtemelen rota 2'ye gideceğim, ancak kod çoğaltmasını sevmiyorum. Her yerde
Ben, senin eski kod sadece iyi olduğunu düşünüyorum veritabanı gerektiği bazı programcılar DISTINCT nasıl olsa sayma boş değerlere içermelidir düşünüyorum meyilli olabilir, çünkü bir uyarı yükseltmek yüzden sürprizler değil sorun size. Bu uyarı uyarısı ANSI SQL uyumlu olduğunu düşünüyorum. –
Açıklamanız anlamlı. Yine de onlardan uzak durabilirsem uyarıları sevmem. –