2009-06-02 6 views
0

У меня есть две таблицы:, используя результаты одного MySQL для второго запроса

  • сообщений - держит пост информации
  • слушать - содержит информацию о том, что другие пользователи, которых вы слушаете. (Что пользователи сообщений вы хотите просмотреть)

Структура слушать это:

  • идентификатор (UniqueID)
  • идентификатор (пользователям уникальный идентификатор)
  • listenid (идентификатор пользователя они тоже слушаются)

Как я могу собрать все записи из прослушивания, которые активируют активных пользователей userid, а затем использовать их для поиска всех сообщений, которые соответствуют любому из fo und listenid, чтобы создать запрос объединенных сообщений пользователей, которые я хочу просмотреть?

+0

Чтобы мы могли вам помочь, вам необходимо предоставить гораздо больше информации о структуре ваших таблиц и более четко объяснить, что именно вы пытаетесь сделать. –

+0

Прохладный, три ответа, все в порядке, все разные. – cgp

+0

Пожалуйста, включите все соответствующие таблицы в вопрос. Как и SQL, который вы пробовали. –

ответ

1
SELECT posts.* 
FROM listen 
JOIN posts 
ON  posts.userid = listen.listenid 
WHERE listen.userid = @current_user 
1

Вы можете сделать это с помощью простого естественного соединения или прямого соединения, как указано в других ответах. .

select 
    * 
from 
    posts, listen 
where 
    listen.userid == $active_user and 
    posts.userid = listen.userid 

Вы, вероятно, хотите быть более избирательным о столбцах вы приносящих

0

Я думаю, что вы говорите о чем-то вроде этого:

select postid from posts 
where userid in 
(
    select listenid from listen 
    where userid = CURRENT-USER 
) 

Это предполагает, Столбцы имеют поле userid.

0

Простое соединение не работает?

select 
posts.* 
from 
posts 
inner join 
listen 
on 
listen.listenID = posts.userID 
where 
listen.userID = ACTIVEUSER 
Смежные вопросы