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

Всем привет Стоит задача сделать систему учёта товаров по дереву категорий. В

голову приходит простой вариант:
id
name
parent_id
amount

В итоге хочу добиться такого результата:
Продукты 55
Фрукты 25
Лимон 10
Апельсин 15
Консервы 30
Тушенка 30

Не понимаю как делать sql запрос чтобы получить результат выше

Есть идеи?

19 ответов

10 просмотров

with recursive вам в помощь

Способ хранения хороший. Особенно если глубина заранее неизвестна. Только нужно добавить колонку с типом товара - категория это или конечный продукт. Либо разделить категории и продукты на разные таблицы. Но это зависит в большей степени от того, что и в каком виде потом извлекать нужно. Про извлечение да, как сказал Andrew , смотрите в сторону рекурсии.

All-Cats Автор вопроса
Oleg Bryzhevatykh
Способ хранения хороший. Особенно если глубина зар...

ну и посмотреть на ltree для возможных быстрых поисков в дальнейшем

All-Cats Автор вопроса
Oleg Bryzhevatykh
Способ хранения хороший. Особенно если глубина зар...

Идея в том, чтобы у любого товара можно было на лету создать «ребёнка» Например был конечный товар «шоколад милка» И потом на лету можно было добавить детей молочный и белый шоколад

All Cats
Идея в том, чтобы у любого товара можно было на ле...

В терминологии магазинов это называется variant

All Cats
Идея в том, чтобы у любого товара можно было на ле...

Тогда да, всё в одной таблице. Но есть большие сомнения в том, что это потом не выстрелит в ногу на этапе сбора статистики и аналитики. Но это бизнесовые проблемы, а не технические. Рекомендую дать аналитикам ещё раз подумать о таком решении. )

All-Cats Автор вопроса
Oleg Bryzhevatykh
Тогда да, всё в одной таблице. Но есть большие сом...

Нет отдела аналитики, есть я волонтёр который помогает систематизировать в центре гуманитарной помощи)

All Cats
Нет отдела аналитики, есть я волонтёр который помо...

Аналитик есть всегда. В данном случае это вы. 😀

Идеи есть все зависит от уровня абстракции на котором вы готовы реализовывать концепцию учета изменения объектов учета, поносимый паттерн EAV усиленный объектной моделью к примеру сложен в реализации но позврляет много чего делать из того что не возможно при обычной табличной лобовой модели проектирования

All Cats
Спасибо!

Я прошу прощения за свою дерзость, но я потратил более десяти лет на развитие и доведения до ума своей концепции учета основанном на объектно ориентированном подходе в основе которого лежит подход EAV мне просто интересно что вызвало желание выразить благодарность по одной картинке обобщенно дающей представление о подходе по сути не описанном в деталях сколько ни будь дающих представление о возможных путях решения это дистально вас натолкнуло на какое то решение? мне просто интересно... спасибо 😊

Dmitrii
Введение в ступор: Done✅

Это причина для благодарности?

All-Cats Автор вопроса
Дмитрий Иванов
Я прошу прощения за свою дерзость, но я потратил б...

Я если честно мало что понял, потому что не такой опытный в субд Делаю максимально просто и быстро, потому что сроки жмут, надо срочно сделать систему учёта гуманитарной помощи

All Cats
Я если честно мало что понял, потому что не такой ...

Было как то так же в начале однако развитие концепции учета сопряжено со многими не очевидными факторами как то перегрузка сущностей не свойстванными атрибутами и самое главное это изменения в том числе модельных данных, в том числе артикулов приводящих к разрушению связей внутри групп МТР в разрезе исторической ретроспективы, если ваш проет краткосрочный и не требует сохранения длгосрочной многолетней статистики учитывающей изменения номенклатуры производителя (не меняющей по сути товарную принадлежность) то возможно вас не коснуться данные проблемы но если допустим посмотреть на поиск по Озон то видно что там это выражено просто как нигде в виде нарастающего бардака

All-Cats Автор вопроса
Дмитрий Иванов
Было как то так же в начале однако развитие концеп...

Я надеюсь что этот проект не долгосрочный, если вы понимаете о чем я…

All Cats
Я надеюсь что этот проект не долгосрочный, если вы...

возможно да но я не разделяю такого подхода, в любом случает тогда вопросов нет, удачи

All-Cats Автор вопроса
Дмитрий Иванов
возможно да но я не разделяю такого подхода, в лю...

про eav паттттерн в любом случае почитаю, спасибо

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

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

Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Карта сайта