我想定义这样的查询:
select sum(column) from table1 where id in(select column1, column2 from table2);
我该怎么做?
更新::
table1(id | base_p_id | additional_p_id)
1| 2 | 4
2| 2 | 3
table2(id | desc | cost)
2 | - |1200
4 | - |400
现在base_p_id& additional_p_id是table2的fk,我想取成本之和
喜欢
从table2中选择sum(cost),其中id为(select base_p_id,additional_p_id)from table1,其中id = 1);
-Thanks。
答案 0 :(得分:1)
你可以使用UNION:
SELECT
sum(column)
FROM
table1
WHERE
id IN (SELECT col1 FROM table2 UNION SELECT col2 FROM table 2)
答案 1 :(得分:1)
您可以通过加入执行此操作。这也比使用IN
子查询要快得多:
select sum(table1.column)
from table1
inner join table2 on table2.column1 = table1.id or table2.column2 = table1.id