172 похожих чатов

Подскажите, плиз. Есть таблица-дерево. id, parent_id, name. Как для каждой

записи вывести айди и полное имя по иерархии?

12 ответов

12 просмотров

рекурсивный CTE

первая строка в поисковике https://stackoverflow.com/questions/34954873/get-entire-hierarchy-of-parents-from-a-given-child-in-postgresql

Dmitry- Автор вопроса
Eldar
рекурсивный CTE

во всех примерах как-то путь наоборот выстраивается. У самой глубокой сущности самый короткий путь.

Dmitry
во всех примерах как-то путь наоборот выстраиваетс...

Значит, напишите запрос правильно (в документации даже пример же был, вроде?). Если нужно для всех записей — можно так и начинать с корня, кстати, даже не менять запрос из самых распространённых примеров.

Dmitry- Автор вопроса
Dmitry
http://sqlfiddle.com/#!15/a5fb9/557 весь мозг слом...

foo.name || ' // ' || expression1.name А вообще — откуда тут "ломание мозга"?! Вы же по сути пишете простой цикл — Вы понимаете, как работают rCTE? Если нет, прочитайте в документации — там очень ясно написано, IMHO: https://www.postgresql.org/docs/current/queries-with.html#QUERIES-WITH-RECURSIVE

Dmitry- Автор вопроса
Dmitry- Автор вопроса
Yaroslav Schekin
Эээ... что?!

простой запрос за деньги есть желание написать? простой по вашим меркам, я-то ниасилил

Dmitry
простой запрос за деньги есть желание написать? пр...

Я Вам уже ответ дал! И да, он на самом деле простой — прочитайте документацию.

Dmitry- Автор вопроса
Yaroslav Schekin
Я Вам уже ответ дал! И да, он на самом деле просто...

читаю, но я уже целый день этим занимаюсь, а сегодня первый день после отпуска. Короче тяжело совсем.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта