通过加入另一个表,从IBM DB2中获取最近5天的表中的行

时间:2017-09-24 06:23:51

标签: sql db2

我在DB2中有两个表。

table1
----
sidpk                 pid
--------------------------
24gsr3               xyz
67sfr9               xyz
67sts8               xyz

table2
-------------------------
sid                 date
--------------------------
24gsr3              2017-09-24
67sfr9              2017-09-23
67sts8              2017-09-15
.
.
and so on

我正在尝试从table2获取从今天开始前5天创建的所有可用行。

在上面的例子中,我希望它应该返回24gsr3,67sfr9

我的查询中缺少什么?

请找到它。

SELECT a.sidpk from table1 a
LEFT JOIN
table2 b
ON a.sidpk= b.sid
WHERE a.pid='xyz' AND b.date>= DATE_SUB(CURDATE(), INTERVAL 5 DAY) AND 
b.date<= CURDATE()
ORDER BY b.date DESC 

1 个答案:

答案 0 :(得分:1)

这应该有效

SELECT a.sidpk from table1 a
  LEFT JOIN table2 b
    ON a.sidpk= b.sid
 WHERE a.pid='xyz' 
   AND b.date >= current date - 5 days
   AND b.date <= current date
 ORDER BY b.date DESC