У меня есть таблицы, подобные приведенным ниже.
И мне удалось извлечь T2
, и я хотел бы объединить другие таблицы и объединить рабочий процесс.
Сначала я хотел бы вычесть всех клиентов, которые имеет product = A
product customer
A A
B A
C B
B B
A C
B C
. .
. .
. .
Поэтому T2
извлекается из таблицы, как показано ниже.
product customer
A A
B A
A C
B C
По приведенному ниже коду я могу получить T2
WITH T2 AS (
SELECT t.*,
COUNT(CASE WHEN product = 'A' THEN 1 END) OVER (PARTITION BY customer) AS a_cnt
FROM yourTable t
)
SELECT product, customer
FROM T2
WHERE a_cnt > 0;
Более того, я хотел бы присоединиться к T3
, как
customer age
A 10
B 20
C 30
Поэтому Мой желаемый результат, как показано ниже
product customer age
A A 10
B A 10
A C 30
B C 30
Есть ли какой-нибудь изощренный способ агрегирования рабочего процесса?
Если у вас есть мнение, пожалуйста, дайте мне знать.
Спасибо