|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Есть две таблицы : cards ( prep_group int4; prep_id int4; ) и preps ( prep_id int4; prep_name char(512); ) Мне нужно сделать следующее : SELECT DISTINCT prep_id FROM cards WHERE prep_group='1234'; НО отсортировать полученный результат по значению поля prep_name в таблице preps, т.е. по алфавиту . Возможно ли это ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:37 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Должно работать. P.S. лучше писать prep_group=1234, а не ='1234', так как это все-таки int4, но так тоже будет работать, хотя кто будет гарантировать что parser в ноывой версии будет работать также? P.P.S. если таблица cards значительно больше preps (по числу записей), то оцени, возможно выгоднее (с т.з. производительности) писать без DISTINCT. Дело в том, что сортировка связанная с DISTINCT тоже время требует. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 14:12 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Попробовал ! Действительно работает ! Хитро придумано ! Спасибо ! P.S. Без DISCTINCT ну никак нельзя :(..... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 14:28 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
> P.S. Без DISCTINCT ну никак нельзя :(..... В том запросе, что я отправил в прошлый раз результат будет ОДИНАКОВЫЙ как с DISTINCT, так и без оного, вопрос в производительности - см.мой предыдущий пост. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 15:53 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 16:23 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
2 vavcg А distinct нужен по какому полю? или по всей строке? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 16:24 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
DISTINCT нужен по полю prep_id. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 17:04 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
авторSELECT DISTINCT с.prep_id FROM cards c inner join preps p on c.prep_id = p.prep_id WHERE c.prep_group='1234'; order by p.prep_name Вот непонятно, что такое за c.prep_id и p.prep_id ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 17:07 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Вот непонятно, что такое за c.prep_id и p.prep_id ... Айдишник в даблице cards и таблице preps соответственно, c и p - алиасы Теперь к вопросу о дистинкте: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 17:16 |
|
Выборка из таблицы с сортировкой по полю из другой таблицы
|
|||
---|---|---|---|
#18+
Впрочем prep_name необязательно Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 17:17 |
|
|
start [/forum/topic.php?fid=53&msg=32520892&tid=2007862]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 147ms |
0 / 0 |