Переименование отношения для определенной части в запросе (oracle10g)

#sql #oracle #rename

#sql #Oracle #переименовать

Вопрос:

Вопрос : найдите имя клиента и номер счета на счете с наибольшим балансом .

My_query :

 select customer_name 
from (
  select * 
  from depositor,
       account 
  where depositor.account_number = account.account_number **as T** 
    and balance >= (select balance from T )
); 
  

Могу ли я дать имя ‘T’ для части ( select....depositor.account_number = account.account_number) ?

Комментарии:

1. это выдает ошибку!

Ответ №1:

Насколько я понимаю, у вас есть два вопроса 1) Как получить имя_клиента с помощью hiest blance

а) с упорядочением

 select customer_name 
from (  select * 
from depositor,account 
where depositor.account_number = account.account_number 
order by balance DESC ) 
where rownum < 2 ; 
  

б)

 select max(customer_name) keep (dense_rank last order by balance nulls first)  
from depositor,account 
where depositor.account_number = account.account_number 
  

2) Как мы можем использовать псевдоним в блоке запроса. Вы можете использовать конструкцию «с»

 with t as (select * from depositor,account where depositor.account_number = account.account_number)
select customer_name from T 
where balance >= (select max(balance) from T ) ;