Клиенты имеют несколько аккаунтов - PullRequest
0 голосов
/ 08 мая 2018

enter image description here У нас есть таблица со счетами клиентов. У одного из этих клиентов несколько аккаунтов.

Таблица клиентов: (Формат: ИД клиента)

  • 101 Смит
  • 102 Уильямс
  • 103 Мартин
  • 104 Джек

Таблица счетов (формат: Account_ID, customer_ID, Account_Type)

  • Account_ID customer_ID Account_Type

  • 201 101 A1

  • 202 101 B1

  • 203 101 C1

  • 301 102 B1

  • 302 102 C1

  • 401 103 A1

  • 402 103 C1

  • 501 104 B1

Если у одного клиента несколько учетных записей, мы выбираем тип account_type для этого заказа: A1, C1 и B1

Результат должен быть:

  • customer_ID Account_Type
  • 101 А1
  • 102 C1
  • 103 А1
  • 104 B1

Я пишу следующий запрос: Выберите c.customer_ID, case когда Account_Type в ('A1', 'B1' 'C1') тогда A1 когда Account_Type in ('' B1 '' C1 '), то C1 еще Account_Type Конец От клиента c присоединиться к аккаунту на a.customer_ID = c.customer_ID

Как я могу поставить условие: один клиент имеет несколько учетных записей в этом запросе?

Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

Простое решение будет

ВЫБРАТЬ * ИЗ ( SELECT *, CASE AccountType КОГДА «А1», ТОГДА 1, «Б1», ТОГДА 3, КОГДА «С1», ТОГДА 2 КОНЕЦ, как ранг 1 ОТ testAccount ) Заказ по CustomerID, Rank1

...