За последние 24 часа нас посетили 18880 программистов и 1634 робота. Сейчас ищут 932 программиста ...

Выборка из таблицы каталог с состовлением.

Тема в разделе "MySQL", создана пользователем olegkaz, 22 май 2013.

  1. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Привет всем. Хотел узнать, может кто сталкивался и удачно решал такую задачу. есть таблица категорий :

    Код (Text):
    1.  Таблица : catalog
    2.  
    3. id      parent_id     alias
    4.  1          0          one
    5.  2          0          two
    6.  3          1          three
    7.  4          1          four
    8.  5          2          five
    9.  6          2          six
    10.  7          3          seven
    11.  8          7          eight
    12.  9          8          nine
    13.  10        4          ten
    Как выбрать одним запросом так чтобы были выбраны также родители у этого поля. Например id 8 , должна получиться строка /1/3/7/.

    Вроде надо копать в group_concat().
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    одним запросом нереально
     
  3. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    В каком направлении тогда "копать"?
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    materialized path, nested sets
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    поточнее...
     
  6. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    На выходе должны получиться пути то есть <a href="/1/3/7/8">8</a>
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    я никак не пойму что это такое ? %)
     
  8. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    это получается что-то вроде хлебных крошек. То есть в ссылке указываются все родители если они есть.
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну так nested sets уже посоветовали же... это реализация иерархической топологии внутри реляционной.
     
  10. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Другого решения помимо Netsted, при таком положении нет?
     
  11. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Есть. Можно запросом собрать все записи и потом рекурсивной функцией построить путь. Если записей меньше тысячи, работает быстро.