SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.03.2012 00:32:13

aton
Участник
Зарегистрирован: 03.03.2012
Сообщений: 4

помогите создать запрос

Запрос такой:
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)

Вполне осознаю, что вопрос не внятный, но иначе формулировать не могу. Пожалуйста, попробыйте понять и помочь smile

Неактивен

 

#2 03.03.2012 00:36:00

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: помогите создать запрос

СУБД будет читать записи в том порядке, в котором, так сказать, считает нужным и повлиять на это почти невозможно. В наших силах скорее заставить выводить данные в нужном нам порядке. Приложите структуру таблиц, тестовые данные, и набор, который Вы хотите получить в результате выполнения запроса - может чего и получится посоветовать.

Отредактированно deadka (03.03.2012 00:36:30)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 03.03.2012 00:47:21

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: помогите создать запрос

Если P_id - уникальный ключ, то можно переделать в JOIN:

SELECT a.* FROM а JOIN b USING(P_id) WHERE b.EX_id=5 ORDER BY b.number

Неактивен

 

#4 03.03.2012 00:49:20

aton
Участник
Зарегистрирован: 03.03.2012
Сообщений: 4

Re: помогите создать запрос

Спасибо!
поля первой таблицы (описаны картины)
P_id - ключ
name
artist
...
...

поля 2-й таблицы -(описаны выставки)
EX_id - ключ
name
...
...

поля 3-й таблицы (тут пары  выставка-картина)
P_id - ключ
EX_id - ключ
number

number - поставлен для того, чтобы упорядочить пары в 3-й таблице

Нужно выводить все картины одной выставки, причем по порядку описанному в 3-й таблице с помощью field 'number'.
Возможно ошибка в проектировании?

Неактивен

 

#5 03.03.2012 00:52:37

aton
Участник
Зарегистрирован: 03.03.2012
Сообщений: 4

Re: помогите создать запрос

rgbeast написал:

Если P_id - уникальный ключ, то можно переделать в JOIN:

SELECT a.* FROM а JOIN b USING(P_id) WHERE b.EX_id=5 ORDER BY b.number

точно! спасибо rgbeast! и всем!smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson