【发布时间】:2012-10-15 02:05:20
【问题描述】:
我对 sql IN 查询有疑问。例如,您有一个包含列 id、数量名称的表。
有一个查询:
SELECT SUM(amount) FROM table WHERE id IN (101,101);
我想要的是添加一定数量的 id。无论 id 在 IN 语句中是什么。这样的话,两个101,数量101+数量101。
问题在于它认为这是一个实例。我该怎么做呢?它的假设是:
SELECT SUM(amount) FROM table WHERE id IN (SELECT id FROM table.........);
子选择返回“101, 101”。
如何
【问题讨论】:
-
你需要解释为什么你需要那个。
-
这个
SELECT SUM(amount) FROM table WHERE id IN (SELECT id FROM table.........);有什么问题? -
与 SELECT SUM(amount) FROM table WHERE id IN (101,101) 相同;因为查询返回 101,101 是正确的。但是,如果总结起来,SUM 语句将 id 101 和 101 视为仅 1 个实例。我希望它把它当作两个实例。
-
@zerkms 我需要这个,因为我想将金额添加到子选择选择的任何内容中。一个 ID 出现两次没关系,101 的数量为 5。父查询应该返回 10,即 5 + 5。
标签: sql operator-keyword