我有两个选择,差异是在连接表的总和合并两个选择句子不同的连接
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你是对的,编辑 –