我有这个:
表客户:
CLI_ID STUDENT
1 name1
2 name2
3 name3
表大学:
UNIV_ID CLI_ID NAME
1...........1 harvard (2012)
2...........1 oxford(2013)
3...........2 yale
我需要:
STUDENT UNIVERSITY
name1 oxford
name2 yale
但我明白了:
STUDENT UNIVERSITY
name2 yale
我只获得最高的数字。并非所有身份最高的学生(上一所大学)
我alredy试过这个:
**SELECT** C.cli_id, UNIV.UNIV_ID **FROM** cliente C
**INNER JOIN** UNIVERSITY UNIV **ON** C.Cli_id = UNIV.cli_id
**WHERE** UNIV_ID = ( **SELECT MAX** (UNIV_ID) **FROM** UNIVERSITY )
感谢
答案 0 :(得分:0)
您需要在where
子句中使用相关子查询,以获得每个学生的最大值:
SELECT C.cli_id, UNIV.UNIV_ID
FROM cliente C INNER JOIN
UNIVERSITY UNIV
ON C.Cli_id = UNIV.cli_id
WHERE UNIV_ID = ( SELECT MAX(UNIV_ID) FROM UNIVERSITY u2 where u2.cli_id = c.cli_id)
你获得了所有学生的最高分,你只想要每个学生的最高分数。