我有兩個選擇,差異是在連接表的總和合併兩個選擇句子不同的連接
select
table1.col1
sum(case when table1.col2 = 'C1' then table1.value else 0 end) as C1
from table1
join table2 on table1.col3 = table2.col3
group by table1.col1
select
table1.col1
sum(case when table1.col2 = 'C2' then table1.value else 0 end) as C2
from table1
join table3 on table1.col3 = table3.col3
group by table1.col1
如何合併這些querys成一個單一的選擇內部的情況?問題是我只希望所有'C1'行與table2連接時,與'C2'一樣。 這其中的一個例子連接,你可以看到COL3在兩個連接都相等(在列的類型而言),但不是在價值
select table1.col1, table1.col2, table2.col3 from table1 join table2 on table1.col3 = table2.col3
table1.col1 | table1.col2 | table2.col3
'COD1' 'C1' 543
'COD1' 'C2' 329
'COD2' 'C2' 123
'COD1' 'C1' 943
select table1.col1, table1.col2, table3.col3 from table1 join table3 on table1.col3 = table3.col3
table1.col1 | table1.col2 | table3.col3
'COD2' 'C2' 632
'COD1' 'C1' 895
'COD1' 'C2' 248
'COD2' 'C1' 458
。 。您的查詢在語法上不正確。他們在'select'中有'sum()'函數,但不是'group by'。 –
@GordonLinoff你是對的,編輯 –