我有兩個表具有以下數據:選擇SQL內部連接和省略某些記錄
表A
ID DESC
1 One
2 Two
3 Three
ID是主鍵
表B顯示了我在做對ID的動作表阿
NO ACTION ID DATETIME
1 ADD 1 2012-01-01 00:00:00
2 ADD 2 2012-01-01 00:00:00
3 ADD 3 2012-01-01 00:00:00
4 DELETE 2 2012-01-01 01:00:00
5 EDIT 1 2012-01-01 02:00:00
6 EDIT 3 2012-01-01 03:00:00
7 DELETE 1 2012-01-01 03:00:00
8 REVIVE 2 2012-01-01 04:00:00
9 EDIT 2 2012-01-01 05:00:00
NO是主鍵
這裏是總結:
ID 1:添加於2012-01-01 00:00:00,編輯於2012-01-01 02:00:00,刪除於2012-01-01 03: 00:00
ID 2:2012-01-01 00:00:00 ADD,2012-01-01 01:00:00 DELETE,2012-01-01 04:00:00 REVIVE,編輯2012-01-01 05:00:00
ID 3:2012-01-01 00:00:00,編輯ADD 2012-01-01 03:00:00
我如何查詢表得到如下結果:
表C
NO DESC
2 Two
3 Three
我想要做的是:查詢表A中沒有在最後交易時間刪除操作,所以我只得到有效ID
我試圖做內部聯接,但如何在最後一次交易時忽略具有刪除操作的ID。任何建議/意見將不勝感激。
是'NO'主鍵?它是否符合'DATETIME'? –
@KubaWyrostek表主鍵是ID列,表B主鍵是NO列(用於事務索引)。這意味着表B將始終處於DATETIME順序。順便說一句我正在使用postgres – wrez