带回最大版本

时间:2016-04-27 12:32:56

标签: sql max

我有以下SQL语句,

SELECT NAME,TEXT, VERSION
FROM VTABLE 
WHERE  VERSION <= (select version from BTABLE where ID = 'TEST')

带回来 -

Name  Text    Version     
----|-------|--------|
A   | APP1  | 1 |
A2  | APP1  | 2 |
B   | APP2  | 1 |
C   | APP3  | 1 |

但是我需要每个应用程序返回的最大版本,所以结果应该是 -

Name  Text    Version     
----|-------|--------|
A2  | APP1  | 2 |
B   | APP2  | 1 |
C   | APP3  | 1 |

我已经在VTABLE版本和BTABLE版本上绑定了JOIN -

SELECT V.NAME, V.TEXT, MAX(V.VERSION)
FROM VTABLE V
WHERE  V.VERSION <= JOIN(select B.version from BTABLE B where B.ID = 'TEST') ON V.VERSION = B.version

然而这是失败的。几乎是一个例子,基于B.version,我需要为此返回APP(最大V.VERSION)

1 个答案:

答案 0 :(得分:0)

您可以这样尝试...使用row_number ...如果您使用T-SQL ...我的临时表表示您的查询返回的数据...您可以嵌套该查询而不是{{ 1}}

from #Version