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

krafty

new Exception
выборка из одной таблицы по результатам селекта из другой таблиц

SELECT field1 FROM table1 WHERE id=$id возвращает какой-то массив данных, например (3,5,8).
Теперь нужно выбрать из второй таблицы все поля с id=3,5,8.
SELECT field1 FROM table2 WHERE id=3 OR id=5 ....
C помощью двух запросов некрасиво как-то получается: по результатам первого запроса через implode нужно формировать строку для условия WHERE во втором запросе.
Может можно одним запросом сделать.

-~{}~ 26.10.05 19:49:

вопрос снимается. сам допер!
[sql]
SELECT field1
FROM table1
WHERE id
IN (
SELECT field2
FROM table2
WHERE id =$id
)
[/sql]
 

krafty

new Exception
basboy
в смысле запрос или задавать вопрос, а потом самому отвечать
 

basboy

Новичок
именно задавать вопросы, на которые сам можешь найти ответ, без посторонней помощи.
 

zap

Guest
можно еще попробовать любимой хакерской примочкой UNION
 

basboy

Новичок
zap
Ну при чём тут UNION? Вопрос про селекты. Юнион для другого пригоден.
 

Toxic_Cat

Новичок
Сорри, что не по теме, просто не хочу форум захламлять.

Запрос:
PHP:
SELECT field1
FROM table1
WHERE id
IN (

SELECT field2
FROM table2
WHERE id = $id
)
Его можно разбить на два запроса. Хочу спросить "сложные" запросы вообще использовать уместно? Не требует ли такая выборка много ресурсов?

Спасибо за внимание.
 

webprog

Новичок
Ошибка

Странное дело, но у меня такой простой запрос, и не работает.
Пишу:

PHP:
SELECT title 
FROM resource 
WHERE id 
IN (
   SELECT id 
   FROM resource_rubric 
   WHERE id_rub =234
)
Получается: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id FROM resource_rubric WHERE id_rub = 234 )

По отдельности каждый запрос работает, а все вместе - нет.
Может кто-то сталкивался с этим...

Версия MySQL - 4.0.12.
 
Сверху