表的设计比较蛋疼
id 数据1 数据2 条件1 条件2
要查出满足条件1的数据1和满足条件2的数据2
查出来的结果是: id 数据1 数据2 的形式
我现在的做法:
SELECT id, 数据1 INTO #T1 FROM tb WHERE 条件1
SELECT id, 数据2 INTO #T2 FROM tb WHERE 条件2
SELECT a.id, a.数据1,b.数据2 FROM #T1 FULL JOIN #T2 ON #T1.id = #T2.id
实际有的话,还有个分组,条件判断也有点多。。。这三句写出来一大坨
求一个简洁的
------解决思路----------------------
你还是贴点数据吧
------解决思路----------------------
SELECT SUM(CASE WHEN 预交方式='现金' THEN 预交钱
WHEN 补交方式='现金' THEN 补交钱
ELSE 0 END) AS 总和
FROM TB
WHERE (CASE WHEN 预交方式='现金' THEN 预交时间
WHEN 补交方式='现金' THEN 补交时间
ELSE '' END)='2015-05-22'
AND 用户id='1'
------解决思路----------------------
SELECT ISNULL(T1.用户id,T2.用户id)[用户id]
,T1.预交钱
,T2.补交钱
FROM(
SELECT 用户id,SUM(预交钱)预交钱
FROM TB
WHERE 预交方式='现金'AND 预交时间 BETWEEN'2015-05-01'AND'2015-05-30'
GROUP BY 用户id
)T1 FULL JOIN(
SELECT 用户id,SUM(补交钱)补交钱
FROM TB
WHERE 补交方式='刷卡'AND 补交时间 BETWEEN'2015-05-01'AND'2015-05-30'
GROUP BY 用户id
)T2 ON T1.用户id=T2.用户id