注册 登录
编程论坛 SQL Server论坛

请教一个sql语句

alex15 发布于 2014-04-09 19:00, 470 次点击
这个表里,我要取每个dwg_id中最大的rev_id那行的内容

比如上面这张表,我要得到的结果就是(42723,9,1)和(42769,0,#)这两行

请问应该怎么写呢?谢谢!@

只有本站会员才能查看附件,请 登录
6 回复
#2
owenlu19812014-04-09 20:34
试试这个
StrSQL = "Select A.* from A inner join (Select [dwg_id],Max([rev_id]) as [rev_id] from A Group By [dwg_id]) as B on " & _
         "B.[dwg_id] = A.[dwg_id] and B.[rev_id] = A.[rev_id]"
#3
alex152014-04-10 10:22
以下是引用owenlu1981在2014-4-9 20:34:19的发言:

试试这个
StrSQL = "Select A.* from A inner join (Select [dwg_id],Max([rev_id]) as [rev_id] from A Group By [dwg_id]) as B on " & _
         "B.[dwg_id] = A.[dwg_id] and B.[rev_id] = A.[rev_id]"


表名是revision

Select dwg_id,rev_id,rev_no from revision inner join (Select dwg_id,Max(rev_id) as rev_id from revision Group By dwg_id) as B on B.dwg_id = revision.dwg_id and B.rev_id = revision.rev_id;

报错Ora-00905: missing keyword
#4
tlliqi2014-04-10 12:01
以下是引用alex15在2014-4-10 10:22:02的发言:

 
 
表名是revision
 
Select dwg_id,rev_id,rev_no from revision inner join (Select dwg_id,Max(rev_id) as rev_id from revision Group By dwg_id) as B on B.dwg_id = revision.dwg_id and B.rev_id = revision.rev_id;
 
报错Ora-00905: missing keyword
你把2楼的例中表名A换成revision

StrSQL = "Select revision.* from revision inner join (Select [dwg_id],Max([rev_id]) as [rev_id] from revision Group By [dwg_id]) as B on " & _
         "B.[dwg_id] = revision.[dwg_id] and B.[rev_id] = revision.[rev_id]"
#5
鸥翔鱼游2014-04-26 15:58
且学且珍惜,得认学习真正消化
#6
vbvcr512014-04-27 11:46
在sql server软件里面建表,然后用sql语句调试,进行查询分析正确的结果。试试上面给出的sql语句。貌似正确。
#7
风中之神822014-04-29 10:31
学习了,正在学数据库。
1