oracle中两张表A,B;AB有一相同字段,如何判断A的另一字段的值,是否在表B的某俩个字段之间。

表A: ID 姓名 时间 表B: 姓名 时间1 时间2(T2=T1+7)
1 张三 T 张三 T1 T2
2 张三 T 张三 T1 T2
3 张三 T 张三 T1 T2
4 李四 T 李四 T1 T2
5 李四 T 李四 T1 T2
6 李四 T 李四 T1 T2
7 李四 T 李四 T1 T2
8 李四 T 李四 T1 T2
9 王五 T 王五 T1 T2
10 王五 T 王五 T1 T2

T,T1,T2是分别不同的日期,T2是T1后的一个星期
如何查询 符合条件 姓名相同 且 T 在 T1与T2 之间的记录。

比如 表A中 姓名=李四的 几个T值,如果有在表B 中姓名=李四的 几对T1与T2之间,则返回 表A的ID 姓名 和 T

select * from t1 where exists(select 1 from T2 where T1.name = T2.name and T1.time > T2.Time1 and T1.time < T2.time2)
试一下,不知道对不对
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-21
SELECT DISTINCT A.ID,A.NAME FROM A,B WHERE A.NAME=B.NAME AND A.T>=B.T1 AND A.T<=T2;
第2个回答  2012-02-20
select A.*
from A, B
where A.name = B.name
and A.time between B.time1 and B.time2;追问

这个是对 同一条记录的判断吧!

追答

没有理解 “同一条记录”是指什么。

相似回答