Что случилось с этим запросом MySQL? ВЫБЕРИТЕ * AS 'x', как использовать x снова позже?

Следующий запрос 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 таблица для обнаружения, кто выполнил те действия, и на который сайт. Надежда, которая имеет смысл :)

5
задан Mathias Bynens 6 February 2010 в 00:10
поделиться