Как проверить, связан ли столбец A с одним или многими другими столбцами A

#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;