Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Case in sqlserver query
Message
From
11/08/2016 02:22:11
 
 
To
11/08/2016 00:41:43
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows 7
Network:
Windows XP
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01639360
Message ID:
01639361
Views:
53
>Dear Experts
>
>I have these codes
>
>
>text TO cmd TEXTMERGE noshow
>
>select distinct(vou_no)as vou_no,MAX(date)as date,MAX(acc_code)as acc_code,
>(case type1 when 'P' then SUM(cr_amount) end )as A_amount,
>(case type1 when 'A' then SUM(cr_amount) end )as A_amount,
>(case type1 when 'D' then SUM(dr_amount) end )as D_amount
> from crsalp where date=?thisform.text4.value
> group by vou_no
> 
> ENDTEXT
>
>
>type1 is a field (char 1)
>
>This query show following error message
>
>Column 'crsalp.type1' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
>
>I want to get SUM(cr_amount) in case type1=P,A,D
>
>Please help

Put the CASE() inside the SUM()
SUM(CASE WHEN type1 = 'P' OR type1 = 'A' THEN cr_amount ELSE 0 END) AS A_amount,
SUM(CASE WHEN type1 = 'D' THEN dr_amount ELSE 0 END) AS D_amount,
----------------------------------
António Tavares Lopes
Previous
Reply
Map
View

Click here to load this message in the networking platform