SELECT DName
FROM drugs
WHERE DID IN
(
SELECT DID,SID
FROM transactions
GROUP BY TotalCost
HAVING SID = 1 AND TotalCost > 100
)
在括号内执行这样的查询将得到一个包含两列的结果,我需要从其中一列中选择结果。为了在 HAVING
子句中使用 SID,我需要将其包含在括号内的 SELECT
运算符中,这就是为什么我得到 2 列的结果。
最佳答案
IN 语句中不能有 2 列。 您可以从 select 中删除 SID,只在 HAVING 中使用它。您实际上不需要检索数据,您的 IN 子句就会起作用。
关于mysql - 如何在多列上执行 SELECT(例如 2)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691720/