查找SQL表上的最后一个寄存器
我有这个: 表客户机:查找SQL表上的最后一个寄存器,sql,function,field,Sql,Function,Field,我有这个: 表客户机: 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 表大学: CLI_ID STUDENT 1 name1 2 name2 3
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
表大学:
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
我只得到了最高的数字。并非所有id最高的学生(最后一所大学)
我已经试过了:
**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 )
谢谢您需要在
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)
你在所有学生中都得到了最大值,你只希望每个学生都得到最大值。不确定你在这里想要什么。是否要运行
选择。。。在何处
并显示与上次修改的记录关联的大学?欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮({}
),以很好地格式化和语法突出显示它!这样,您也不需要任何
标记或点(用于空格)!你试过什么?你有什么问题?哪种SQL方言?如何确定最后一种?这是学生的最大ID
值吗?我想找到的是上一所大学的学生名单。最后一个是最高ID(在本例中,牛津大学将是学生“名字1”的las大学)。。谢谢你的帮助。