Разминка с выборкой

Тема в разделе "SQL", создана пользователем vital, 25 окт 2010.

  1. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    реамбулаю Нужно выбрать из таблички меню. Вложенность - 3 уровня. В приципе, все просто.

    Код (Text):
    SELECT t1.title AS lev1,t2.title AS lev2, t3.title as lev3
    FROM test_menu AS t1
    JOIN test_menu AS t2 ON t2.parent = t1.id
    LEFT JOIN test_menu AS t3 ON t3.parent = t2.id
    WHERE t1.id = null

    Вернет правильную табличку для одного пнукта(категории меню).
    Теперь була. А как сделать так, что бы вернуть все категории?
    т.е. что бы как-то так..


    Код (Text):
    SELECT t1.title AS lev1,t2.title AS lev2, t3.title as lev3
    FROM test_menu AS t1
    JOIN test_menu AS t2 ON t2.parent = t1.id
    LEFT JOIN test_menu AS t3 ON t3.parent = t2.id
    WHERE t1.title in ( SELECT title FROM test_menu WHERE ISNULL(parent));

    т.е. выстроить ттабличку уровней для каждой категории одним запросом
     
  2. ????

    ???? Гость

  3. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Мускул конечно. Не настолшько я крут, для оракла)
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Черт, уж очень оно дохрена запросов будет делать рекурсией. Не пойдет( А с nested sets мараться не охота(
     
  5. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Не, не кошерно.
     
Загрузка...
Похожие Темы - Разминка выборкой
  1. puh14
    Ответов:
    5
    Просмотров:
    1.423
  2. Allexei
    Ответов:
    3
    Просмотров:
    3.086
  3. slavon-x86
    Ответов:
    5
    Просмотров:
    3.151

Поделиться этой страницей