|
|
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Ребят, пожалуйста, помогите написать запрос по следующей проблеме... Есть таблица полями: ID (автоинкрементным идентификатором) и ID2 (идентификатором родителя, если он есть - может быть = null, то есть нет родителя). Надо построить ветку дерева. Вроде все просто, но запуталась, тем более что только начала изучать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 10:02:43 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Ната сейчас утро:)) Что вы хотите получить на выходе,а то я никак не пойму:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 10:36:22 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Я не знаю как сформулировать правильно... Лучше пример таблицы из 7 записей приведу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Ответ должен быть таким (по ID): 1 7 2 3 4 6 5 Вроде сказали использовать join по одной таблице - все перепробовала - ничего не выходит! Короче, совсем не знаю, что делать, то ли я совсем тупая, то ли одно из двух :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:02:52 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Может быть 1 7 2 3 6 4 5 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:11:34 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Ната ,а где закономерность? 1 null 7 1 2 null 3 2 4 3 6 2 5 null Страновато,не кажется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:15:38 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
провокация??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:18:21 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Ну не знаю, может я в SQL пока плохо разбираюсь, но я написала правильно - ведь это по сути сортировка форумных записей - выстраивание их деревом! (Если есть у записи родитель - то под родителя ее и писать, а родители - по порядку) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:32:08 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Утро, народ развлекается :)\r \r А по поводу вопроса посмотри здесь\r \r /topic/10197\r \r Ответ SergSuper от 24 июл 02, 11:29 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:41:05 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Сделайте поиск слова "деревья" по форуму, узнаете много интересного. А так, одним запросом - не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 11:41:20 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Я посмотрела ответ ВладимирМ Я в прострации :-( А что же делать? А можно как-нибудь обойти эту ситуацию? Ввести новую таблицу, или новые поля? Помогите, пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:03:23 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
А собственно чем вам алгоритм не нравиться,а одним запросом так вам уже ответили - неполучится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:09:58 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Для данного случая ИМХО так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:17:16 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Хорошо, приношу свои извинения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:39:05 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
2 Maxx "Нравиться - не нравиться" я смогу ответить когда разберусь с SQL (это, наверное, минимум через пару лет - а у меня в понедельник экзамен) 2 Jimmy А если записей - 1000? Как нибудь в цикле? У меня задание - запрос сделать из ASP... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:44:28 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
2 Nata Извините - не понял вопроса. Что в цикле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:46:47 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Ната ,простите но я совершенно не хотел Вас обидеть ЗЫ присоеденяюсь к Jimmy - зачем цикл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 12:51:33 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Про цикл - это я стормозила :-) 2 Jimmy - все прекрасно, но у меня на самом деле есть третье поле - текстовое, именно которое надо выводить, и в твоем примере тогда получается ошибка Distinct-а... Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:13:54 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Если так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. то Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. иначе - приведи пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:31:31 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Все правильно, но только поле - должно быть текстовое (до 1000 символов - я так думаю только тип - Text), а не символьное :-( Ошибка дистинкта... Вопрос: как ее обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:46:48 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
2 Ната Вот фрагмент BOL: char and varchar Fixed-length (char) or variable-length (varchar) character data types. char[(n)] Fixed-length non-Unicode character data with length of n bytes. n must be a value from 1 through 8,000 . Storage size is n bytes. The SQL-92 synonym for char is character. varchar[(n)] Variable-length non-Unicode character data with length of n bytes. n must be a value from 1 through 8,000 . Storage size is the actual length in bytes of the data entered, not n bytes. The data entered can be 0 characters in length. The SQL-92 synonyms for varchar are char varying or character varying. 8000 байт хватит? :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:49:36 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
To Maxx. Зря Вы насчёт закономерности. Ничего странного. Простое правило: 1.Родитель, 2.Если есть дети, после родителя сразу дитя. Т.о., если детёныш сам родитель - см. пункт 2. Вот после 3 и идёт 4, ведь его родитель 3. А реализовать при такой структуре таблицы одним запросом не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:50:24 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, я описалась - 10000 знаков (это больше чем 8K - я читала) Чтобы делать сортировку с Text, я так понимаю надо проштудировать все труды, ссылки на которые здесь давали. Короче: неуспею... Поэтому вопрос, как сделать "искуственно" - симуляцию текстового поля? Это последний вопрос - я уже выдохлась, сил останеться только на благодарности всем, кто помог :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 13:58:26 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
2 Владимир Смирнов А при какой структуре (исходя из моих 3-х полей) можно упростить все запросы, и если не сложно, то как они будут выглядеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 14:05:23 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
2 Ната Тогда нужно написать хранимую процедуру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. А в ASP скрипте вызывать эту процедуру вместо текста запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 14:09:55 |
|
||
|
Запрос по одной таблице
|
|||
|---|---|---|---|
|
#18+
По поводу способов хранения древовидной структуры посмотри варианты: http://www.osp.ru/win2000/sql/967.htm http://sdm.viptop.ru/articles/sqltrees.html http://rdbms.narod.ru/article/tree/index.html Это все на будущее. В той постановке что у тебя простого ответа не будет. В самом простом случае, тебе необходимо ввести еще одно поле, содержащее сквозной порядковый номер каждого узла по всему дереву. Естесственно, это поле усложнит модификацию дерева, но требуемый тебе запрос ты будешь получать мгновенно, просто поставив опцию ORDER BY nOrder (nOrder - это то самое, дополнительное поле) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2002, 14:21:47 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32045538&tid=1820874]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 337ms |

| 0 / 0 |
