|
|
|
Сортировка в зависимости от данных в другой таблице
|
|||
|---|---|---|---|
|
#18+
Существует таблица ProfList - список всех возможных специальностей, имеющая 1 поле varchar prof(специальность). И таблица ProfListCat имеющая 2 поля varchar prof и category(образование, медицина и тд). В одну таблицу не стал объединять т.к. запись в таблице ProfListCat есть для меньшей части специальностей ProfList. Возможно ли сделать запрос, который выведет ProfLIst отсортированный таким образом, что сначала будут записи которые есть в ProfListCat, а потом которые в ProfListCat отсутствуют. Тоесть сначала идут записи, которые есть и в другой таблице, а потом которые в другой таблице отсутствуют. Написал такой запрос: SELECT PL_A.PROF FROM PROFLIST PL_A WHERE EXISTS(SELECT PLC_A.PROF FROM PROFLISTCAT PLC_A WHERE PL_A.PROF=PLC_A.PROF) UNION ALL SELECT PL_B.PROF FROM PROFLIST PL_B WHERE NOT EXISTS(SELECT PLC_B.PROF FROM PROFLISTCAT PLC_B WHERE PL_B.PROF=PLC_B.PROF) Работает, но нет сортировки по специальности, если добавить в конце ORDER BY 1, сортирутеся полностью и специальности смешиваются, а надо: первый запрос от а до я и второй от а до я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 17:22 |
|
||
|
Сортировка в зависимости от данных в другой таблице
|
|||
|---|---|---|---|
|
#18+
в 1 селект добавь поле 1 в 2 2 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 17:24 |
|
||
|
Сортировка в зависимости от данных в другой таблице
|
|||
|---|---|---|---|
|
#18+
1. Открой для себя внешнее соединение. 2. Открой для себя NULL. "В одну таблицу не стал объединять т.к. запись в таблице ProfListCat есть для меньшей части специальностей ProfList." - Старомодный трюк. Имеет смысл для БД организованных в виде прямоугольных таблиц, типа dbf и т.п.. Современные СУБД не выделяют место под пустые поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 19:02 |
|
||
|
Сортировка в зависимости от данных в другой таблице
|
|||
|---|---|---|---|
|
#18+
в 1 селект добавь поле 1 в 2 2 ? Я извиняюсь, но чтото не понял. Можно поподробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 20:16 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34286310&tid=1544764]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 527ms |

| 0 / 0 |
