Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: "Bob Barrows" Newsgroups: comp.databases.ms-sqlserver,microsoft.public.sqlserver.programming Subject: Re: SQL help again Date: Sun, 2 Oct 2011 13:06:56 -0400 Organization: A noiseless patient Spider Lines: 21 Message-ID: References: Injection-Date: Sun, 2 Oct 2011 17:06:46 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="inlgCTpOMxujS+VHkVo6dA"; logging-data="9635"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19hkfib511SA4Y4LzoO80GjhYZCWZM8+bc=" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109 X-RFC2646: Format=Flowed; Response X-Antivirus-Status: Clean X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-Antivirus: avast! (VPS 111002-1, 10/02/2011), Outbound message Cancel-Lock: sha1:xIwkpfcvww5p9RaSQgbhU0LSNV8= X-Priority: 3 X-MSMail-Priority: Normal Xref: x330-a1.tempe.blueboxinc.net comp.databases.ms-sqlserver:704 Phil Hunt wrote: > I tried > CASE EventID when NULL then 1 else 0 end > > It always return 0, why ? > > Because the way you have the statement structured is causing an equality comparison to be performed, the result of which will always be false. You have to structure it like: CASE when EventID IS NULL then 1 else 0 end To answer your original question, you can subtract the result of count(distinct column_name) from count(*): select count(*) - count(distinct eventid) as null_eventids