Вход на сайт
SQL
715 просмотров
Перейти к просмотру всей ветки
в ответ scorpi_ 01.06.11 20:06
НП.
В СКЛную тему.
Сегодня споткнулся об задачку.
ДАНО:
Мелкософтовский сиквел, 2005 или 2008...
Дурная самоджойнутая таблица-дерево.
Требуется сделать выборку двух уровней дерева.
Результат упорядочить по значению в поле, но в пределах подветви...
Делаю по простому - селект из юниона - все по букварю...
SELECT * FROM
(
SELECT S1.*, 1 as FLAG FROM TBL S1 WHERE <условия головной части>
UNION
SELECT S2.*, 2 as FLAG FROM TBL S2 WHERE <условия субветвей>
)
ORDER BY FLAG, <поле>
И это... пипец... не работает... при том, что по частям все работает...
Ругается на ошибку в районе ORDER BY...
Наверное надо будет скастить FLAG к чему-нибудь... или добавить
алиас к выборке...
В СКЛную тему.
Сегодня споткнулся об задачку.
ДАНО:
Мелкософтовский сиквел, 2005 или 2008...
Дурная самоджойнутая таблица-дерево.
Требуется сделать выборку двух уровней дерева.
Результат упорядочить по значению в поле, но в пределах подветви...
Делаю по простому - селект из юниона - все по букварю...
SELECT * FROM
(
SELECT S1.*, 1 as FLAG FROM TBL S1 WHERE <условия головной части>
UNION
SELECT S2.*, 2 as FLAG FROM TBL S2 WHERE <условия субветвей>
)
ORDER BY FLAG, <поле>
И это... пипец... не работает... при том, что по частям все работает...
Ругается на ошибку в районе ORDER BY...
Наверное надо будет скастить FLAG к чему-нибудь... или добавить
алиас к выборке...