對不起,我的標題,似乎有點'關',但找不到更好的解釋我的問題。複雜的'版本'查詢
所以,我有類似下面的表格:
CREATE TABLE DocumentTable
(
id int identity primary key,
ParentId int,
CategoryId int,
Version int
);
這是用於存儲文檔和跟蹤它們的版本。
是否有可能擁有一個返回最新版本文檔的SQL?或者我應該去編程(這會降低性能很多,因爲我會選擇所有文檔,然後執行操作)
這裏是我的表的SQLFiddle與示例數據。
比如我有我的小提琴這樣的數據:
ID PARENTID CATEGORYID VERSION
1 (null) 1 1
2 1 1 2
3 2 1 3
4 (null) 1 1
5 (null) 1 1
6 (null) 1 1
7 4 1 2
的Id
區分文檔。 parentId
顯示女巫文件是它的父親。所以在我的例子中,我有三個版本(1,2,3),兩個文檔沒有父母(5,6),另一個文檔有兩個版本(4,7)的1個文檔,因此對於這個數據我想要選擇帶身份證件= 3,5,6,7
那麼,什麼是理想的效果?如何區分相同的文件? –
您正在詢問返回最高版本文檔的SQL查詢嗎? –
'4,5,6'行與我所見相同。那麼你爲什麼要'5,6'? –