A表存在同一个id的多条记录,按时间多次出现,B表与A表以id关联,但是我想取出A表id首次出现的时间要早于B表的时间。 A表有:id,time 如: 1,2010-01-01 00:00:00 2,2010-01-02 00:00:00 2,2010-01-03 00:00:00 3,2010-01-04 00:00:00 3,2010-01-05 00:00:00 3,2010-01-06 00:00:00 B表有:id,time1 如: 1,2010-02-01 00:00:00 2,2010-02-01 00:00:00 3,2010-02-01 00:00:00 想要的结果是: 1,2010-01-01 00:00:00 2,2010-01-02 00:00:00 3,2010-01-04 00:00:00有谁知道?急,谢谢 SQL code: select A.* from A where time <(select min(time1) from B where B.id=A.id)
首次 select A.id,min(time) [time] from A where time <(select min(time1) from B where B.id=A.id) 楼主麻烦你能不能写得清楚点,我是个新手,谢谢。 你就是楼主 select A.id,min(time) [time] from A where time <(select min(time1) from B where B.id=A.id) group by a.id
用4楼数据,在用上面语句就可见到结果 ;WITH T AS ( SELECT * from A T WHERE EXISTS(SELECT 1 from B WHERE id=T.id AND T.time<time1) ) SELECT * from T A WHERE NOT EXISTS(SELECT 1 from T WHERE id=A.id AND time<A.time) 我看不太懂