自认比较恶心的,高手进!
现在要对表 M 中的数据进行全部和单独统计;其中有一统计类型 对应表 S,不同类型(ID)时,对应的表不同:
如 1对应表A ,2对应表B, 3无对应表,A和B表结构相同,且A、B表的ID与S 表的
S-ID 相对应,S表的 ID 与 M 表的 M-ID 相对应,现在要全部进行统计时,类型有对应的表则统计出 A 或B 表的 ID ,无则显示空该如何写一条SQL?
------解决方案--------------------楼主把表结构列出来。
------解决方案----------------------试试这个
SELECT M.form_type,S.form_name,M.flow_id,M.flow_name,M.custom_id,
SUM(CASE M.form_type
WHEN 1 THEN SELECT SUM(VALUE)FROM A WHERE A.ID=M.custom_id
WHEN 2 THEN SELECT SUM(VALUE)FROM B WHERE B.ID=M.custom_id
WHEN 3 THEN 0 END)AS Total
FROM M INNER JOIN S ON M.form_type=S.form_type
GROUP BY M.form_type,S.form_name,M.flow_id,M.flow_name,M.custom_id
ORDER BY M.form_type,S.form_name,M.flow_id,M.flow_name,M.custom_id