【发布时间】:2014-05-08 13:07:18
【问题描述】:
表名:RANKTITLE,RANK
//RANKTITLE
TITLE
--------------
TEST1
TEST2
TEST3
TEST4
//RANK
TITLE SALARY
---------------------
TEST1 4500000
TEST2 80000
TEST3 26000
TEST4 1800000
所以我想显示除薪水最高的排名以外的所有标题
输出如下:
TITLE SALARY
--------------------
TEST2 80000
TEST3 26000
TEST4 1800000
使用这个查询
SELECT r.TITLE FROM RANKTITLE r WHERE
r.TITLE IN (SELECT TITLE FROM RANK) AND
(SELECT MAX(SALARY) FROM RANK WHERE r.TITLE=p.TITLE AND SALARY < MAX(SALARY));
我无法得到我想要的输出。这里没有错吗?
【问题讨论】:
-
如果两个职位的薪水一样高怎么办?他们都被排除在外了吗?
-
另外,
RANKTITLE中是否存在RANK中可能不存在的标题?它们也应该显示吗? -
@MichaelBerkowski 是的。两者都被排除在外
-
等等,是第二个问题还是第一个问题?