Задавайте вопросы, мы ответим
Вы не зашли.
Запрос такой:
SELECT * FROM а WHERE P_id IN (SELECT P_id FROM b WHERE EX_id=5 ORDER BY number)
Как изменить запрос, чтобы из таблицы "а" записи читались согласно очередности указанной в
(SELECT P_id FROM b WHERE EX_id=5 ORDER BY number)
Вполне осознаю, что вопрос не внятный, но иначе формулировать не могу. Пожалуйста, попробыйте понять и помочь
Неактивен
СУБД будет читать записи в том порядке, в котором, так сказать, считает нужным и повлиять на это почти невозможно. В наших силах скорее заставить выводить данные в нужном нам порядке. Приложите структуру таблиц, тестовые данные, и набор, который Вы хотите получить в результате выполнения запроса - может чего и получится посоветовать.
Отредактированно deadka (03.03.2012 00:36:30)
Неактивен
Если P_id - уникальный ключ, то можно переделать в JOIN:
Неактивен
Спасибо!
поля первой таблицы (описаны картины)
P_id - ключ
name
artist
...
...
поля 2-й таблицы -(описаны выставки)
EX_id - ключ
name
...
...
поля 3-й таблицы (тут пары выставка-картина)
P_id - ключ
EX_id - ключ
number
number - поставлен для того, чтобы упорядочить пары в 3-й таблице
Нужно выводить все картины одной выставки, причем по порядку описанному в 3-й таблице с помощью field 'number'.
Возможно ошибка в проектировании?
Неактивен
rgbeast написал:
Если P_id - уникальный ключ, то можно переделать в JOIN:
SELECT a.* FROM а JOIN b USING(P_id) WHERE b.EX_id=5 ORDER BY b.number
точно! спасибо rgbeast! и всем!
Неактивен