1

有一张表,其中包含:
id、bookid、name、dateofentry、status。

需要相应书籍的 bookid 和 last dateofentry 以及书籍状态的结果,即仅 R(R- 返回,NR- 不返回)

例如输入:-

id bookid subject dateofentry Status
1   10      math   10-11-2012 NR
2   10      math   1-12-2012  R
3   110     math   1-12-2012  NR
4   110     math   10-12-2012 NR
5   102     math   10-11-2012 NR
6   102     math   1-12-2012  R
7   105     math   10-12-2012 NR
8   105     math   17-12-2012 NR
9   106     math   11-12-2012 NR
10  106     math   14-12-2012 R

输出:-

10   math 1-12-2012 R
102  math 1-12-2012 R
106  math 14-12-2012 R

这应该是什么查询

提前致谢

我试过这个: -

SELECT t.bookid, t.satus, r.MaxDate
FROM (SELECT bookid, MAX(dateofentry) as MaxDate
      FROM TempLogs
      GROUP BY bookid) r
INNER JOIN Logs t ON t.bookid = r.bookid AND t.dateofentry = r.MaxDate where status="R" 

但是我遇到了一些语法错误,并且它不起作用。

4

1 回答 1

1

看起来语法错误是因为您使用了 2 个不同的表名。在您的子查询中,您使用的是 tableTempLogs但在外部查询中,您引用的是 table Logs。除此之外,您尝试实现的实际查询和方法似乎是正确的。

于 2013-03-11T09:42:18.547 回答