Показать сообщение отдельно
  #1 (permalink)  
Старый 09.07.2013, 21:51
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

SQL запрос. Как делать SELECT с условием SELECT
Приветствую.

Есть 3 таблицы.

books хранит данные о книге

user_books хранит данные id из book и id из users, то есть каждый пользователь из users может соответствовать одному или нескольким id из books

users хранит данные о пользователях.

Когда мне нужны книги пользователя из books (тоесть полные данные о книге) я вынужден :

1. Выбрать id пользователя из users т.к. единственная доступная инфа о пользователе: сессия с именем пользователя.

2. Выбрать из user_books все книги пользователям по id пользователя.

3. Выбрать из books данные по книгам по id книг полученные из предыдущего запроса (книг от 1...99 ).

Как можно сделать один такой запрос, например:

Код:
SELECT * FROM `books` WHERE `id`='
SELECT `id_books`FROM `user_books`WHERE `id_user`='
SELECT `id_user`FROM `users` WHERE `user_name`='$_SESSION[''Name']'' '
Естественно что такой запрос не работает, и при том что один из ответов может содержать более одного поля.

МОЖНО ЭТО СДЕЛАТЬ?

П.С. Можно получать id пользователя и в сессии, но тогда все равно остается запрос в запросе.

Буду благодарен за ссылку или пример.
Спасибо.
Ответить с цитированием