mysql - 如何在多列上执行 SELECT(例如 2)?

标签 mysql sql database select having

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/

相关文章:

java - 使用 Hibernate 在运行时创建数据库?

database - 如何设计数据库模式来存储具有 n 元树格式的数据

sql - 清理数据源

mysql - 长 LOCK TABLES 期间与 MySQL 的通信链路失败

php - 对于每个/查询没有给出正确的值

mysql - SQL动态压缩

sql - Postgres : Using WITH RECURSIVE to build list of item and their parents

mysql - 具有多个条件和子选择的 SQL 查询

数据库数据差异工具,用于比较不同数据库中公用表中的数据

mysql - 使用 mysql dayname 作为列名