У меня есть таблица, которая содержит информацию о клиенте - номер клиента, продукт и т. Д. Я хочу определить, в какой сфере деятельности каждый клиент является участником, исходя из того, какими продуктами он владеет. Каждый клиент может иметь 1 или более строк (каждая строка обозначает клиента и его продукт). Это выглядит примерно так:
Customer # Product
-----------------------------------------
000000001 BROKERAGE
000000001 CHECKING
000000001 CREDIT CARD
000000001 SAVING
000000001 LIFE INSURANCE
Теперь, это всего лишь один клиент, но у меня есть правила относительно того, какие продукты являются частью какой сферы деятельности, такие как:
БАНК: ПРОВЕРКА, КРЕДИТНАЯ КАРТА, ЭКОНОМИЯ
ИНВЕСТИЦИИ: БРОКЕРСКИЙ, ВЗАИМНЫЙ ФОНД
СТРАХОВАНИЕ ЖИЗНИ: СТРАХОВАНИЕ ЖИЗНИ
Что я хочу сделать, это посмотреть на всю таблицу по клиенту и сказать, что если этот клиент владеет каким-либо банковским продуктом, я хочу создать новый столбец «Банк» и поставить «Y» в этом столбце для каждой строки. этот клиент в истории - это говорит мне, что, независимо от того, на какую строку я смотрю, этот клиент был клиентом банка. В конце я бы хотел колонку для всех этих больших объектов, поэтому конечный продукт будет выглядеть так:
Customer # Product Bank Investments Life
---------------------------------------------------------
000000002 BROKERAGE Y Y N
000000002 CHECKING Y Y N
000000002 CREDIT CARD Y Y N
000000002 SAVING Y Y N
Логика здесь заключается в том, что столбцы «Банк» и «Инвестиции» имеют «Y», поскольку у клиента есть хотя бы один продукт из каждого из этих больших объектов. Однако у клиента нет полиса страхования жизни, поэтому весь столбец для этого клиента будет «N».
У меня несколько клиентов, очевидно, поэтому я пытался сделать это с помощью оператора case, но я использовал только просмотр столбца для текущей строки, поэтому я получаю только «Y» там, где эта строка соответствует , Я хочу, чтобы какая-то строка для этого клиента соответствовала ... Я подумал, что, возможно, что-то делаю с PARTITION или GROUP BY, но я не знаю, с чего начать .... Есть идеи или советы?