再求一个SQL语句,ACCESS库
蛋疼的SQL,搞了一天,还是写不出来。。。
一个表结构如下:
OrderNo Flag
1 1
1 1
1 2
1 3
2 1
2 1
2 3
2 1
3 1
3 2
3 2
4 1
4 1
..................
OrderNo是产品序号,从1开始
Flag是标志,范围1-3
现在要做一个汇总表,结构如下:
OrderNo Flag1 Flag2 Flag3 FlagAll
1 2 1 1 4
2 3 0 1 4
3 1 2 0 3
4 2 0 0 2
Flag1 是表示Flag=1的数量
Flag2 是表示Flag=2的数量
Flag3 是表示Flag=3的数量
FlagAll 表示总数量
用一条SQL语句怎么也写不出,是ACCESS库的。。。。
求大家帮忙了。。。
[解决办法]
select OrderNo,Sum(iif(Flag=1,1,0)) as Flag1,Sum(iif(Flag=2,1,0)) as Flag2,Sum(iif(Flag=3,1,0)) as Flag3,Count(1) as FlagAllfrom tgroup by OrderNo
[解决办法]
SELECT ORDERNO, SUM(CASE FLAG WHEN 1 THEN 1 ELSE 0 END) FLAG1, SUM(CASE FLAG WHEN 2 THEN 1 ELSE 0 END) FLAG2, SUM(CASE FLAG WHEN 3 THEN 1 ELSE 0 END) FLAG3, COUNT(1) FLAGALLFROM MYTABLEGROUP BY ORDERNO
[解决办法]
ACCESS和MSSQL的SQL语句差不多的
[解决办法]
sql 中没有IIF函数吧?
[解决办法]