我正在为考试而操练,并继续问这个问题:
编写一条SQL语句,以找出在所有余额中哪个客户名称的余额最高。(您必须使用全部或任何)。
表Deposit中的一个示例(也是最高余额)行
INSERT INTO Deposit(customerName, branchName, accountNumber, balance)
VALUES ('Jones', 'HFE', '42', '4100.00');以下是我尝试过的:
SELECT customerName
FROM Deposit
WHERE balance > ALL
(SELECT balance
FROM Deposit
WHERE balance >= balance);如何解决这个问题,使客户名称具有最高的余额显示?
谢谢
发布于 2017-01-17 23:01:20
假设你有这样的数据:
create table deposit ( customerName, balance) as (
select 'cust1', 100 from dual UNION ALL
select 'cust2', 500 from dual UNION ALL
select 'cust3', 500 from dual UNION ALL
select 'cust4', 400 from dual UNION ALL
select 'cust5', 400 from dual
)你需要:
select customerName
from deposit
where balance >= ALL ( select balance from deposit)这意味着:
cust2
cust3你的代码出了什么问题:
where条件:不仅这个条件只是检查一个列与它自己,而且它是无用的,因为您只是希望您的结果customerName有一个大于每个人的平衡,而没有任何条件。>而不是>=,因此不匹配任何值。https://stackoverflow.com/questions/41708388
复制相似问题