我有2代表作为如下─选择最大值导致
表I
ID DATE
1 05/11/12
2 23/11/12
3 29/11/12
4 04/10/12
5 20/11/12
而另一表(1H)用下面的信息 -
ID RECNO NOTE
1 1 Open
1 2 Update
1 3 Close
2 1 Open
2 2 Update
2 3 Hold
2 4 Close
3 1 Open
4 1 Open
4 2 Update
5 1 Open
我想输出如下所示的结果,使用每个ID的最高值RecNo显示注释字段。因此,使用上面的输出数据应为─
ID DATE NOTE
2 23/11/12 Close
3 29/11/12 Open
我是 -
SELECT I.ID, I.DATE, IH.NOTE FROM
I I, IH IH
JOIN (SELECT MAX([RECNO]) [RECNO] FROM
IH
GROUP BY RECNO) IH2 ON IH2.ID = IH.ID AND
IH2.[RECNO] = IH.[RECNO]
JOIN I I2 ON I2.ID = IH.ID WHERE
(I2.DATE>={TS ‘2012-11-22 00:00:002}) GROUP BY I2.ID
代码然而,当我执行的代码我GET-
Invalid Column Name 'RECNO'. Statement(s) could not be prepared.
嗯我得到不正确的列表达:'[选择顶部1 IH.NOTE从IH IH.ID = IID ORDER BY RECNO DESC''')。 – Andy
这对我来说很好......你是否使用[SELECT]代替(SELECT) - (1,1,'Open'), (选择 - 创建表#ih(ID int,RECNO int, (1,2,'Update'), (1,3'Close'), (2,1'Open'), (2,2'Update'), (2,3' (1,'20120101'),(2,'20120101')插入#i值(1,'20120101'), (2,4'Close'); 创建表#i(ID int,[DATE] datetime) ; SELECT I.ID,I.DATE ,(选择TOP 1 IH.NOTE FROM #IH IH其中IH.ID = i.ID通过Recno中DESC顺序)注 从#i中我 d ROP表#i 删除表#ih – bummi