Следующий запрос 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
содержит a userID
поле, которое соответствует записи в users
таблица. Каждый пользователь в этой таблице (users
) имеет a siteID
. Я пытаюсь выбрать последние действия из actions
таблица, и связывает их с users
и sites
таблица для обнаружения, кто выполнил те действия, и на который сайт. Надежда, которая имеет смысл :)