2017-06-01 205 views
0

我的結構是這樣的SQL:聯盟與子查詢

table1的 鍵 值 日期

表2 鍵 值 日期

表3 鍵 值 日期

我想hav e sql查詢返回不同所有密鑰 以及所有3個表中每個密鑰的所有值的總和。

我的嘗試已經

選擇鍵=
(FROM表1中選擇table1.key其中date = '二○一七年五月三十〇日' 工會
選擇table2.key從表2其中date =' 2017-05-30'union
select table3.key from table3 where date ='2017-05-30'),
(select1(sum)(value) from table1 where table1.key = key and date ='2017-05 -30')+
select (sum(value)from table2 where table2.key = key and date =從表'2017年5月30日')+
選擇(總和(值),其中table3.key =鍵 和日期= '2017年5月30日')
從表1,表2,表3

+1

請格式化查詢 - 它幾乎不可讀 –

回答

1

您可以將3個表格組合成臨時表格,然後在臨時表格上執行您需要執行的操作:

CREATE TEMP TABLE temp1 AS 
select key, value, date from table1 
union all 
select key, value, date from table2 
union all 
select key, value, date from table3