SQL подскажите пожалуйста с запросом
Всем привет.
Есть таблица отношений пунктов меню. Первый пункт имеет параметр Родительский элемент id = 1, pos = 'dep', par=0 Дочерний элемент №1 id = 365, pos = 'тут что угодно', par=1 Дочерний элемент №2 id = 5987, pos = 'тут что угодно', par=365 Нижеприведенный запрос приводит только элементы РОДИТЕЛЬСКИЕ И ДОЧЕРНИЕ №1 но как добавить еще №2 SELECT * FROM `jblog_menupoint` as F JOIN `jblog_menupoint` as S ON S.`par` = F.`id_menupoint` WHERE F.`pos` = 'dep' Так работает некорректно SELECT * FROM `jblog_menupoint` as F JOIN `jblog_menupoint` as S ON S.`par` = F.`id_menupoint` JOIN `jblog_menupoint` as T ON T.`par`= S.`id_menupoint` WHERE F.`pos` = 'dep' Благодарен за пинок в нужном направлении. |
Nested Set
|
Duda.Ml1986@gmail.com, я х/з, что тебе нужно в итоге... Но в книжке пример соединения нескольких таблиц выглядит так
Select * From aaa As a Join bbb As b On a.fld=b.fld, bbb as b Join ccc A c On b.prm=c.prm Т.е. синтаксис немного не такой как у тебя... Цитата:
SELECT * FROM `jblog_menupoint` as F, `jblog_menupoint` as S, `jblog_menupoint` as T WHERE S.`par` = F.`id_menupoint` And T.`par`= S.`id_menupoint` And F.`pos` = 'dep' |
Цитата:
id title url id title url и переименовывать не вариант(точнее менее желательный.) |
Цитата:
А тот так просто пальцем в небо. |
Таблица
id title par 1 ttt 0 2 ppp 1 3 xxx 2 Нужно выбрать всех потомков ttt Так что бы результат был как сама таблица, то есть идентичные имена столбов. Select id,title,par From table where par = 0 union Select t2.id,t2.title,t2.par From table as t, table as t2, where t.par = 0 and t2.par = t.id и так далее до нужной глубины вложенности, но вот как если глубина неизвеста? Как то через ДО и лял ля ля. |
Цитата:
|
Один умный человек подсказал куда рыть
Comman teble extension Так что если кому понадобится, копайте туда) Ksa, спасибо за участие. |
Цитата:
|
:victory:
Цитата:
|
Часовой пояс GMT +3, время: 17:55. |