如何在 MySQL 中使用子查询中的字段?
Posted
技术标签:
【中文标题】如何在 MySQL 中使用子查询中的字段?【英文标题】:How to use field from subquery in MySQL? 【发布时间】:2018-11-27 13:39:46 【问题描述】:我有以下查询:
SELECT insent.id, notifications.id
FROM insent
WHERE insent.id IN (
SELECT insent_id
FROM notifications
)
;
但这给出了一个错误提示:
“字段列表”中的未知列“notifications.id”
知道我该怎么做吗?
【问题讨论】:
【参考方案1】:如果您想在一个查询中从几个表中获取数据,那么您应该使用JOIN 构造。例如:
SELECT
insent.id,
notifications.id
FROM insent
JOIN notifications ON notifications.insent_id = insent.id
如果你不想要它,你必须从字段列表中删除 notifications.id
字段
SELECT
insent.id
FROM insent
WHERE insent.id IN (
SELECT insent_id FROM notifications
)
【讨论】:
【参考方案2】:这里的问题是通知表不在范围内 试试这样
SELECT
i.id,
n.id
FROM insent AS i
JOIN notifications AS n ON n.insent_id = insent.id
【讨论】:
以上是关于如何在 MySQL 中使用子查询中的字段?的主要内容,如果未能解决你的问题,请参考以下文章