当前位置: 代码迷 >> 数据仓库 >> 有关问题的解决方案
  详细解决方案

有关问题的解决方案

热度:193   发布时间:2016-05-05 16:14:41.0
求一个问题的解决方案
小弟现在有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 

SQL code
select a.CORP,b.DATA_TYPE,b.VALUEfrom TABLE_3 a left join TABLE_1 on a.CORP=b.CORP
  相关解决方案