используя результаты одного mysql для второго запроса - PullRequest
0 голосов
/ 02 июня 2009

У меня есть две таблицы:

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

Структура прослушивания:

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

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

Ответы [ 4 ]

1 голос
/ 02 июня 2009

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

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

Возможно, вы хотите быть более избирательным в отношении столбцов, которые вы вводите.

1 голос
/ 02 июня 2009
SELECT  posts.*
FROM    listen
JOIN    posts
ON      posts.userid = listen.listenid
WHERE   listen.userid = @current_user
0 голосов
/ 02 июня 2009

простое соединение не будет работать?

select 
 posts.* 
from 
 posts
inner join 
 listen
on 
 listen.listenID = posts.userID
where 
 listen.userID = ACTIVEUSER
0 голосов
/ 02 июня 2009

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

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

Предполагается, что в столбцах таблицы есть поле ИД пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...