数据:
表格1:
ID Value1 Date1
1 foo 2013-04-27
2 bar 2013-05-01
3 umm 2013-05-29
4 ba 2013-06-09
5 sne 2013-04-30
6 xyz 2013-07-11
7 aosid 2013-07-08
链接表:
link MainID SubID
A 1 3
B 3 1
A 1 4
B 4 1
A 2 6
B 6 2
询问:
select t1.ID, t1.Value1, t1.Date1
from Table1 t1
where t1.Date1 between '2013-04-24' and '2013-05-08'
union
select t2.ID, t2.Value1, t2.Date1
from Table1 t2
where t2.ID in (select LT.SubID
from LinkTable LT
where LT.link = 'A' and LT.MainID = t1.ID)
所以这就是我刚刚尝试过的,我得到一个错误,t1.ID 无法绑定。这意味着我不能在第二个选择中使用来自第一个选择的数据。
有没有办法可以在第二个选择中使用第一个选择的 ID 值?
感谢你的帮助。
期望的结果:
ID Value1 Date1
1 foo 2013-04-27
3 umm 2013-05-29
4 ba 2013-06-09
2 bar 2013-05-01
6 xyz 2013-07-11
5 sne 2013-04-30
因此,为了更好地解释结果,第一个选择应该包括日期范围内的所有记录,现在第二个选择将查看它是否通过 LinkTable 链接到第一个选择中包含的记录之一。