troubleshooting Question

Why isn't this case statement working in MS SQL server?

Avatar of Paula DiTallo
Paula DiTalloFlag for United States of America asked on
Microsoft SQL ServerSQL
1 Comment1 Solution10 ViewsLast Modified:
Gurus,

I have a table defined as follows:

create table WebUIUpgrade.AuditInvoiceLineCountsBeforeFinalSalesTaxLineWrites
    (InvoiceNumber_TIHLNUMINV numeric(10,0) not null,  
     TotalTargetLineCount int,
     SumTaxLineCount int,
     SumNonTaxLineCount int,
     TotalRestoreSourceLineCount int not null,
     InsertedDatetime datetime not null,
     countIsDifferent bit not null
    )

I want to (1) define the TotalTargetLineCount as the sum of the SumTaxLineCount + SumNonTaxLineCount, (2) compare the TotalRestoreSourceLineCount to the value of the defined TotalTargetLineCount, (3) set the countIsDifferent bit to 1 if TotalRestoreSourceLineCount and the TotalTartetLineCount don't match.

To do this, I used this SQL statement:

          select sum(SumNonTaxLineCount + SumTaxLineCount) as TotalTargetLineCount,
                 InvoiceNumber_TIHLNUMINV,
                 case countIsDifferent
                 when (TotalRestoreSourceLineCount - sum(SumNonTaxLineCount + SumTaxLineCount)) > 0                            then  '1'
                 else
                   '0'
               end as countIsDifferent
           from  WebUIUpgrade.AuditInvoiceLineCountsBeforeFinalSalesTaxLineWrites
            group by InvoiceNumber_TIHLNUMINV

The statement comes back with the error:

Msg 102, Level 15, State 1, Line 742
Incorrect syntax near '>'.

Any ideas on how to solve this?




Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 1 Comment.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 1 Comment.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros