Как присоединиться и группироваться в SQL - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть таблица, как показано ниже

И я хотел бы получить T4

. Во-первых, я хотел бы объединить таблицы в T3

T1

product  customer
A        A
B        A
C        B
B        B
A        C
B        C
.        .
.        .
.        . 

T2

customer area
A         X
B         Y
C         Z
・    ・
・    ・

T3

product  customer area
A        A        X
B        A        X
C        B        Y
B        B        Y 
A        C        Z
B        C        Z
.        .     ・
.        .     ・
.        . 

condсекунду, я хотел бы извлечь клиента, у которого product=A

T4

product  customer  area
A        A          X
B        A          X
A        C          Z
B        C          Z
.        .      ・
.        .      ・
.        . 

Есть ли способ для этого?

Спасибо

1 Ответ

1 голос
/ 02 апреля 2020

Вы можете использовать внутреннее соединение между T1 и T2 для создания T3, а затем использовать T3 и T1 для получения T4 следующим образом:

-- CREATING T3
SELECT
    T1.PRODUCT,
    T1.CUSTOMER,
    T2.AREA
FROM
    T1
    JOIN T2 ON T1.CUSTOMER = T2.CUSTOMER; 

-- QUERY FOR T4 USING T3 AND T1
SELECT
      T3.*
  FROM
      T3
  WHERE
      EXISTS (
          SELECT
              1
          FROM
              T1
          WHERE
              T1.CUSTOMER = T3.CUSTOMER
              AND T1.PRODUCT = 'A'
      );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...