原谅格式化的"表" - 不确定如何添加一个。我有两张桌子。交易表:
**Member**--**Service Date**- **Order Number**
- 1 ----- 1/15/2013 ----- 651
- 2 ----- 2/2/2013 ----- 258
- 1 ----- 9/15/2013 ----- 113
- 1 ----- 11/1/2013 ----- 728
- 2 ----- 3/3/2013 ----- 309
- 3 ----- 1/1/2013 ----- 739
- 4 ----- 11/30/2013 ----- 226
- 3 ----- 7/6/2013 ----- 978
- 3 ----- 8/7/2013 ----- 266
- 4 ----- 4/1/2013 ----- 198
- 4 ----- 12/1/2013 ----- 611
一个资格表,每个成员有多个日期范围:
**Member**--**Elig. Begin**--**Elig. End**
- 1 ---- 1/1/2013 ---- 5/31/2013
- 1 ---- 8/1/2013 ---- 10/31/2013
- 2 ---- 3/1/2013 ---- 6/30/2013
- 2 ---- 7/1/2013 ---- 12/31/2013
- 3 ---- 1/1/2013 ---- 7/31/2013
- 3 ---- 9/1/2013 ---- 12/31/9999
- 4 ---- 11/1/2013 ---- 12/31/9999
我的目标是返回那些在不同资格范围之外处理订单的情况,因为每个成员的范围会发生多次变化/发生,每个成员有多个订单,我很难过。上面表格中我想要的输出是:
**Member**--**Service Date**--**Order Number*
- 2 ---- 2/2/2013 ---- 258
- 1 ---- 11/1/2013 ---- 728
- 3 ---- 8/7/2013 ---- 266
- 4 ---- 4/1/2013 ---- 198
非常感谢任何帮助。非常感谢你们。
最佳,
乔
答案 0 :(得分:0)
有不同的方法,但似乎更容易遵循的方法是使用EXISTS,像这样
SELECT Member, [Service Date], [Order Number]
FROM [transaction table] as tt
WHERE NOT EXISTS(
SELECT *
FROM [eligibility table] as et
WHERE tt.Member=et.Member and tt.[Service Date] BETWEEN et.[Elig Begin] and et.[Elig End])