在 Microsoft SQL 中苦苦挣扎了几个小时。
我有 2 张桌子。
Table1
ID | STOCK | STATUS
-----------------------------
1 | 1 | Out
2 | 1 | In
3 | 1 | Out
4 | 2 | Out
5 | 2 | In
Table2
ID | DATE
---------------
1 | 2013-07-01
2 | 2013-07-02
3 | 2013-07-03
4 | 2013-07-01
5 | 2013-07-02
我想用最新的 DATE 和 STATUS 获取最新的 STOCK
-> 结果必须是
结果表
ID| STOCK | STATUS | DATE
-------------------------------
3 | 1 | Out | 2013-07-03
5 | 2 | In | 2013-07-02
我做了以下事情:
SELECT Table1.*, Table2.* FROM Table1, Table2 WHERE Table1.ID=Table2.ID
这加入了表,但给出了所有 5 条记录。所以我想我会MAX()
像这样使用这个功能
SELECT Table1.*, MAX(Table2.ID),Table2.Date FROM Table1, Table2 WHERE Table1.ID=Table2.ID GROUP BY Table2.Date
但这不会在查询窗口中运行。