求一个问题的解决方案
小弟现在有3张表分别是:
TABLE_1
CORP DATA_TYPE VALUE
A 本月数 XXXXX
A 本年累计 XXXXX
TABLE_2
DATA_TYPE
本月数
本年累计
TABLE_3
CORP
A
B
现在希望,当TABLE_1.CORP='A'时,结果:
CORP DATA_TYPE VALUE
A 本月数 XXXX
A 本年累计 XXXX
当TABLE_1.CORP='B'时,结果:
CORP DATA_TYPE VALUE
B 本月数 0
B 本年累计 0
如何写SQL?
[解决办法]
SELECT CORP,DATA_TYPE,SUM([VALUE]) FROM (
select A.*,C.*,0 AS [VALUE]
from TABLE_3 a ,TABLE_2 C
UNION
SELECT * FROM TABLE_1)
GROUP BY
CORP,DATA_TYPE
WHERE CORP='B'
[解决办法]
left join
select a.CORP,b.DATA_TYPE,b.VALUEfrom TABLE_3 a left join TABLE_1 on a.CORP=b.CORP