|
|
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
Подскажите, где я ошибся? select lib.NAME as NAME_TOV, T2.NAME AS NAME_GR1, T3.NAME AS NAME_GR2, T4.NAME AS NAME_GR3, T5.NAME AS NAME_GR4 from LIB join lib T2 on lib.ID=T2.PARENT join LIB T3 on T2.ID=T3.PARENT join LIB T4 on T3.ID=T4.PARENT full outer join LIB T5 on T4.ID=T5.PARENT where lib.flag=8; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2003, 16:24 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
Там и ошибся. Что за вопрос странный, какая ошибка - непонятно - цирк! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2003, 16:43 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
рискну угадать может быть, нельзя писать join on? а то что в on надо перенести в where? и про full outer join в ibase я еще не проходил, не могу комментировать. конечно трудно гадать без знания, какое выскочило сообщение об ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2003, 17:19 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
Не правильно отображает и ошибки никакой нет. поля пустые почему-то ... кроме NAME_TOV и NAME_GR4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2003, 17:33 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
To fedd join ... on ... писать можно и более того было замечено что работает быстрее чем просто поместить в секцию where. Про full outer -- никогда не юзал. To td отключи все join а потом по очереди добавляй их и смотри на результат... да и помни что null сравнивать с любым числом будет некоректно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 06:22 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
А ЧТО СОБСТВЕННО НУЖНО ПОЛУЧИТЬ ТО В РЕЗУЛЬТАТЕ? full outer join ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 09:32 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
видимо там хотелось проход по дереву до 5-го уровня ;) в середине почему-то full outer join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 09:36 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
To fedd. Насколько я знаю full outer join в данном случае полный тормоз всего запроса. При просто join будет работать номально, но не все записи попадают, а только те, где пять уровней. Если уровней меньше 5, то запрос не выдаст ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 09:42 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
А вот если использовать left join, то выводятся все записи таблицы. Естественно, где уровней меньше, то соответствующие поля = NULL. Вот сообственно и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 09:46 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
я тоже заметил, но у него все поля пустые, кроме первых, а он left outer join вовсе не использует. ну че гадать-то, данных мы не видим, подождем td. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 09:49 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
Привожу пример таблицы: ID PARENT FLAG NAME 1 0 4 Периферия 2 1 4 Мониторы 3 2 4 LCD-мониторы 4 3 4 Мониторы 15” 5 4 8 Монитор 15" LCD CTX PanoView520 6 4 8 Монитор 15" LCD FineView LM 1570A 7 4 8 Монитор 15" LCD Hansol H530T Silver TCO99 8 4 8 Монитор 15" LCD LG Flatron 568LM 9 1 4 Принтеры 10 9 4 Лазерные принтеры 11 10 8 Принтер HP Laser Jet 1100 12 10 8 Принтер HP Laser Jet 2100 Хочу получить: NAME_TOV NAME_GR1 NAME_GR2 NAME_GR3 NAME_GR4 Монитор 15" LCD CTX PanoView520 Периферия Мониторы LCD-мониторы Мониторы 15” Монитор 15" LCD FineView LM 1570A Периферия Мониторы LCD-мониторы Мониторы 15” Монитор 15" LCD Hansol H530T Silver TCO99 Периферия Мониторы LCD-мониторы Мониторы 15” Монитор 15" LCD LG Flatron 568LM Периферия Мониторы LCD-мониторы Мониторы 15” Принтер HP Laser Jet 1100 Периферия Принтеры Лазерные принтеры Принтер HP Laser Jet 2100 Периферия Принтеры Лазерные принтеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 10:17 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
А посмотреть http://sdm.viptop.ru/articles/sqltrees.html и другие документы лень? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 10:36 |
|
||
|
Подскажите, пожалуйста, где ошибка?
|
|||
|---|---|---|---|
|
#18+
Понятно... То что было у тебя - не будет работать. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. В любом случае NULL будет появляться всегда при таком запрос. Такую конструкцию можно постоить скорее всего через ХП. Вот там будет все ок. Можно еще поизощряться с FB 1.5, но думаю ХП, будет эффективнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 10:48 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32204072&tid=1580263]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 484ms |

| 0 / 0 |
