sqlplus добавление заголовка столбца - PullRequest
0 голосов
/ 22 февраля 2019

Я использую sqlplus от oracle и пытаюсь выяснить, как создать список клиентов и классифицировать их на основе следующих критериев:

  • , если количество учетных записей равно 1, тогда классифицируйте ихкак «Уровень входа»
  • , если № счета 2-3, а затем классифицировать их как «Растущий»
  • , если номер счета больше 4, а затем классифицировать их как «зрелый»

, затем создание ожидаемого вывода (который я прикрепил как изображение).

expected output

Я также приложил ERD для этого.

Это то, что я имею до сих пор.

SELECT DISTINCT first_name "First",
                surname "Last",
                customer_number "Cust #",
                account_type "# of Accts"
  FROM (  SELECT first_name,
                 surname,
                 customer_number,
                 account_type
            FROM wgb_customer
                 JOIN wgb_account USING (customer_number)
                 JOIN wgb_account_type USING (account_type)
        ORDER BY account_type);

пожалуйста, помогите!Это ожидаемый результат!

First       Last        Cust#         # of Accts     Level
----------------------------------------------------------------        
Peter      Chen         2566217             3         Growing           
Byron      Griffith     1113004             1         Entry Level
Patricia   Lee          9871332             1         Entry Level
Henri      Poincare     1113501             3         Growing   
John       Synge        1112401             2         Growing   

1 Ответ

0 голосов
/ 22 февраля 2019

Звучит как агрегация с выражением case:

select c.first_name, c.surname, c.customer_number,
       count(*) as num_accounts,
       (case when count(*) = 1 then 'Entry Level'
             when count(*) <= 3 then 'Growing'
             else 'Mature'
        end) as level
from wgb_customer c join
     wgb_account a
     using (customer_number) 
group by c.first_name, c.surname, c.customer_number;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...