Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Counting with IIF()
Message
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01625867
Message ID:
01625869
Views:
64
>Hi,
>
>When I do the following SQL Select with SQL Server I get the expected results:
>
>SELECT employee, COUNT( case when type= '0' then 1 else null end ) as COUNT_0, COUNT( case when type= '1' then 1 else null end ) as 
>COUNT_1 FROM MyTable GROUP BY employee
>
>
>But when I do the following in VFP, I don't get the expected results:
>
>SELECT employee, COUNT( IIF( type= '0', 1, 0 ) ) as COUNT_0, COUNT( IIF( type = '1',1,0)) as COUNT_1 FROM MyTable WHERE 
>GROUP BY employee
>
>
>In VFP expression all records are counted. How do I make VFP SQL Select work as the SQL Server?

That is because you didn't use the same as in SQL Server:
COUNT( IIF( type= '0', 1, NULL ))
NULL not zero :-)

But I prefer SUM anyway (don't know why, have no logical explanations :-))
SUM(IIF( type= '0', 1, 0))
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform