我有这样的数据

Sr_No/ AccessionNo  / Roll_nO   / Price
---------------------------------------
1  /     101     /      45   /     1000
2  /     102        /   46     /   2000
3   /    101       /    43    /    500

我写了这个问题
select *
from Circulation
where MAX(sr_no) in (select *
                     from circulation
                     where accessionno = @accessionno)

我想得到文本框中没有加入的值,它应该是Sr_No的最大值,对于信息Sr_NO是自动递增的。
我的查询不起作用
我是一名学生,几个月前开始学习
对不起我英语不好
我搞错了
集合不能出现在
子句,除非它在having子句或select列表中包含的子查询中,并且
正在聚合的列是外部引用。
当子查询未与exists一起引入时,只能在选择列表中指定一个表达式。
我希望当我输入101作为登录号时,它会返回此信息
3   /    101       /    43    /    500

最佳答案

你可能想要这样的东西:

SELECT *
FROM Circulation
WHERE sr_no = (SELECT MAX(sr_no)
               FROM circulation
               WHERE accessionno = @accessionno)

您想从Circulation中选择行,其中sr_no列等于表中所有sr_no值的最大值-对吗?

关于c# - 如何解决子查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15601380/

10-09 08:08
查看更多