以下 MySQL 查询:
select `userID` as uID,
(select `siteID` from `users` where `userID` = uID) as `sID`,
from `actions`
where `sID` in (select `siteID` from `sites` where `foo` = "bar")
order by `timestamp` desc limit 100
…返回一个错误:
Unknown column 'sID' in 'IN/ALL/ANY subquery'
我不明白我在这里做错了什么。这个sID
东西不应该是一个列,而是我通过执行创建的“别名”(这叫什么?)(select siteID from users where userID = uID) as sID
。它甚至不在IN
子查询中。
有任何想法吗?
编辑: @Roland:感谢您的评论。我有三个表actions
,users
和sites
。该表actions
包含一个userID
字段,该字段对应于users
表中的一个条目。此表 ( users
) 中的每个用户都有一个siteID
. 我正在尝试从actions
表中选择最新的操作,并将它们链接到users
andsites
表以找出执行这些操作的人员以及在哪个站点上执行的操作。希望这是有道理的:)