2012-02-28 27 views
0

我有两个表作为tblDocument,tblDocVersions使用主键连接的docID如下:如何查找文档的最新版本?

tblDocumentdocid | title

tblVersionsid | docid | verion | datecreated | status

tblVersions可以具有数据作为

id + docid + version 
----+-------+--------+ 
1 | 1  | 1 
----+-------+--------- 
2 | 1  | 2 
----+-------+--------- 
3 | 1  | 3 
----+-------+--------- 
4 | 2  | 1 
----+-------+--------- 
5 | 3  | 1 
----+-------+--------- 
6 | 3  | 2 
----+-------+--------- 

现在我需要选择每个人l文件最新版本...

注意:我需要从Versions行中选择与最新版本号对应的行。

有人帮忙吗?

回答

2
select max(version), tab1.docid from tblDocument as tab1 
inner join tblVersions as tab2 on tab1.docid = tab2.docid 
group by tab1.docid 

编辑

不知道,但这个会的工作,你

select tab1.* from tblDocument as tab1 
inner join tblVersions as tab2 on tab1.docid = tab2.docid 
inner join 

    (select max(version) as ver,tab1.docid from tblDocument group by tab1.docid) d 
on d.docid = tab1.docid and d.ver = tab1.version 
+0

的解决方案看起来很好,但在问题中提到,我诺特只是有兴趣在最新的版本号,还包括'tblVersions'中的相关行。 – 2012-02-28 16:42:11

相关问题