Ответ
Mizter Egoist 15.04.2016 11:32
/ 15.04.2016 11:44
Пробую запросами к базе, а именно GROUP_CONCAT.
Ниже представляю запрос.
$tree[^table::sql{
SELECT t.dsc, h.anc AS pID, GROUP_CONCAT(p.url ORDER BY p.eID SEPARATOR '/') AS path, p.name
FROM path t
^rem{Меняю p.eID = t.anc на p.eID = t.dsc и получаю правильный p.name, но теряю правильный результат url}
JOIN pages p ON (p.eID = t.anc)
JOIN path h ON (h.dsc = t.dsc AND h.lvl = 1)
^rem{Убираю WHERE t.dsc != t.anc и получаю в path все адреса в правильном порядке}
WHERE t.dsc != t.anc
GROUP BY t.dsc
}]
Вопрос в следующем, что у меня в запросе не так?
Проблема в том, что запрос приведенный выше работает, но не корректно.
Если оставить запрос как есть, без учета комментариев к нему:
"path":"1","name":"1"
"path":"1/2","name":"1"
"path":"1/2/3","name":"2"
"path":"1/2/2/4","name":"2"
Если убрать WHERE t.dsc != t.anc, то получиться:
"path":"1","name":"1"
"path":"1/2","name":"1"
"path":"1/2/3","name":"1"
"path":"1/2/3/4","name":"1"
"path":"1/2/3/4/5","name":"1"
Если менять p.eID = t.anc на p.eID = t.dsc, результат будет:
"path":"1","name":"1"
"path":"2/2","name":"2"
"path":"3/3/3","name":"3"
"path":"4/4/4/4","name":"4"
"path":"5/5/5/5/5","name":"5"
- Все те же деревья, Mizter Egoist 05.04.2016 12:08
- http://www.parser.ru/forum/?id=82456, G_Z [M] 05.04.2016 15:43
- Ответ, Mizter Egoist 05.04.2016 16:06
- Оффтоп: по поводу sql, 06.04.2016 15:27
- Ответ, G_Z [M] 05.04.2016 16:33 / 05.04.2016 16:34
- Ответ, Mizter Egoist 06.04.2016 14:52
- Ответ, G_Z [M] 06.04.2016 14:58
- Ответ, Mizter Egoist 06.04.2016 17:08
- Ответ, G_Z [M] 06.04.2016 19:10
- Ответ, Mizter Egoist 07.04.2016 09:28 / 07.04.2016 15:02
- Ответ, G_Z [M] 07.04.2016 18:34 / 07.04.2016 18:34
- Ответ, Mizter Egoist 14.04.2016 15:58
- Ответ, G_Z [M] 14.04.2016 16:06
- Ответ, Mizter Egoist 15.04.2016 11:32 / 15.04.2016 11:44
- Ответ, G_Z [M] 15.04.2016 13:43
- Ответ, Mizter Egoist 15.04.2016 14:44 / 15.04.2016 14:46
- Ответ, G_Z [M] 15.04.2016 14:59
- Ответ, Mizter Egoist 15.04.2016 15:20
- Ответ, G_Z [M] 15.04.2016 15:29