есть один запрос который нужно написать и я уже пару дней пытаюсь придумать. Как бы это сделать. И что-то в голову ничего не лезет кроме процедуры которая бы это все делала, но не совсем понятно как она могла бы возвращать значение. Конечно можно попробовать вернуть курсор, но непонятно как собрать курсор из разных запросов. Короче. Есть значит иерархия из трех уровней. К конечной записи иерархии привязаны номенклатуры. Нужно посчитать количество номенклатуры по разной вложенности иерархии. То есть по первому уровню количество номенклатуры и иерархии, по второму, по третьему. И вот по каждому уровню должно быть подсчитано отдельно. Потом это все нужно вывести в интерфейс программы иерархическим списком. То есть сначала самый высокий уровень - количество, раскрывается плюсиком список нижних уровней, напротив каждого количество и так далее, все три уровня вложенности. Вопрос в том, как такое можно выводить и считать в одном запросе?
Сразу писать его на постгре.
Зачем? Оракл же теперь бесплатный)))
Гуглить "иерархическая сумма", вариантов полно, даже я пару вариантов писал
В общем парни. Перечитав я тут много разного на эту тему. Не смог найти вариант который мне нужен. Данная задача явно выходит за пределы моего профессионального уровня. И делать я абы как ее почему-то не хочу. Поэтому попытаюсь объяснить максимально подробно. Есть база данных в которой существуют записи пономенклатурно, по датам с количеством остатков. То есть если взять select * from stock where date = '01.01.2022' он покажет 92к записей с количеством остатков по каждой номенклатуре. Рядом с ней есть таблица с иерархией, типа id и pid трех, четырех уровней вложенности. То есть у нее есть поля: foreign key с id номенклатуры, id и pid, если уровень самый верхний, то pid = 0. То есть в итоге мы имеем структуру ТОВАРЫ ДЛЯ НОВОГО ГОДА->ЕЛКИ->ЗЕЛЕНЫЕ ЕЛКИ СО ЗВЕЗДОЧКОЙ и в другой таблице количество остатков на нужную дату.В целом составить структуру иерархии по лвл с помощью коннект бай не вызвало труда, но не совсем понятно как сделать подзапрос чтобы он считал количество товара для каждой строчки. К примеру Това
Почему то оборвалось сообщение. Так вот. К примеру как показано на рисунке.
Я же говорил: гуглить "иерархическая сумма"
Я вообще не понял что нужно
В одной таблице есть названия номенклатуры с количеством, разделенными разными единицами измерения. Во второй, есть иерархия. Нужно привязать количество единиц к иерархии, вывести по каждому пункту иерархии количество имеющихся единиц которые содержат номенклатуры привязанные к этой группе. Причем нужно вывести сначала все единицы по данной группе в разных строках с разными данными, потом данные о нижнем уровне и так далее до самого последнего содержащего непосредственно номенклатуры. И вывести это все вот в том виде как на скрине.
Обсуждают сегодня