我有以下的情况(简体):DB2连接困难
2双温表
- basicdata(ID,btmp_tsd,姓名,女士prename)
- extendeddata(ID,btmp_tsd,basicid,代号,codevalue)
在扩展数据中,对于一个基本数据可以有多个条目,每个条目名称和值都不同。
我必须创建一个SQL来选择自指定时间以来已更改的所有行。对于basicdata表,这是比较简单的:
SELECT ID, BTMP_TSD, NAME, PRENAME
FROM BASICDATA BD
WHERE BTMP_TSD =
(SELECT MAX(BTMP_TSD)
FROM BASICDATA BD2
WHERE BD2.ID = BD.PRTNR_ID
AND BD2.BTMP_TSD > :MINTSD
AND BD2.BTMP_TSD <= :MAXTSD
)
ORDER BY ID
WITH UR
现在我需要加入第二台获得了代号为“测试”的codevalue。问题是,它可能不存在,在这种情况下,无论如何应该收集该行。但是如果有一行但不在时间范围内,我不应该得到结果。
我希望我能解释我的问题。加入是的事情,我还没有看到一个低谷......
编辑: 好这里是一个样本
basicdata:
id,btmp_tsd,name,prename
1,2013-05-25,test,user
2,2013-06-26,user,two
3,2013-06-26,peter,hans
1,2013-06-20,test,us3r
2,2013-10-30,us3r,two
extendeddata:
id,btmp_tsd,basicid,codename,codevalue
1,2013-05-25,1,superadmin,1
2,2013-06-26,3,admin,1
3,2013-11-25,1,superadmin,0
好了,现在有这些条目,我希望所有的用户ID的这不得不因为任何变化2013年10月1日我应该得到
用户1(因为extendeddata超级管理员有变化)
用户2(有一个名字昌e和我想他甚至强硬,他对extendeddata表中没有条目)
没有用户3(他有两个表的条目,但它不是在指定的范围内)
您可以添加一些示例数据和预期结果吗? –
我添加了一些示例数据和我期望的内容 – Xavjer