#sql #db2
Вопрос:
У меня есть продукт таблицы, в котором есть столбцы как таковые
Продукт (переменная имени продукта(255) , переменная компонента(255) , переменная сектора(255) )
Имя продукта | компонент | Сектор |
---|---|---|
AC90120301 | AN608350000A | ZZZ |
AC90120301 | AN609181200A | ZZZ |
AC90120301 | AN609186600A | ZZZ |
AC90120301 | AN609187100A | ZZZ |
AC90120301 | AN609187500A | ZZZ |
AC90120301 | AN609238000A | ZZZ |
AC90112 | AN67779563 | ZZZ |
Чего я хочу достичь, так это
Как проверить, связан ли компонент с одним продуктом или с продуктами, принадлежащими к одним и тем же секторам, тогда стоимость его сектора o будет равна стоимости его продуктов.
o Пример: ЕСЛИ PRODUCT_1 (Сектор = M1), PRODUCT_2 (Сектор = M1), ТО Компонент (Сектор = M1)
Комментарии:
1. Вы обновили свой запрос, но я не понимаю этого обновления. Вы хотели знать, связан ли компонент только с одним продуктом или только с одним сектором. Вы, вероятно, видели мой ответ, показывающий, как это сделать. Это работает на вас? Или вы ошиблись в описании того, чего хотите? Если это так, то ваше обновление ничего для меня не проясняет. Поэтому, если вам нужно что-то еще, снова отредактируйте свой запрос и покажите таблицу результатов, которую вы ищете. И тогда вам тоже следует изменить свое описание 🙂
Ответ №1:
Агрегировать по компонентам и количеству:
select
component,
count(distinct productname) as number_of_products,
count(distinct sector) as number_of_sectors
from product
group by component;