sql语句:在一个表中查询符合条件的数据

我现在想将我zfxx表中的 lxr,lxdh,qydz三个字段中的内容有两项相同,并且fbsj在两个月以内的数据检索出来,sql语句能实现么?怎么实现?
fbsj 是日期类型,数据库是sql server2005,注意,我这是想将两条相同的数据进行对比时间,不是当前时间,而且,我是三个字段至少有两个相同,这些条件是并列关系
表名:zfxx
字段1:id int 自动增长
字段2:lxr varchar(20)
字段3:lxdh varchar(50)
字段4:qydz varchar(100)
字段5:fbsj varchar(100) 但是存的数据是:例如:2012-02-15 13:26
如图:我想将fbsj间隔在两个月以内的数据查询出来

第1个回答  2012-04-13
select * from sx_58table1 a
where not exists(
select * from sx_58table1
where (LXR=a.LXR and LXDH=a.LXDH
and FBSJ>a.FBSJ
) or (JBQK=a.JBQK and LXDH=a.LXDH
and FBSJ>a.FBSJ
) or(JBQK=a.JBQK and LXR=a.LXR
and FBSJ>a.FBSJ
)
)

查询时间最晚那一条,然后进行对比本回答被提问者采纳
第2个回答  2012-04-09
需要把表结构拿出来看看,否则缺少条件,没法匹配是否相同的记录。
第3个回答  2012-04-09
select *
from zfxx
where (lxr = lxdh or lxr = qydz or lxdh = qydz)
and fbsj between add_months(sysdate,-2) and sysdate;
第4个回答  2012-04-09
(lxr=lxdh or lxr=qydz or lxdh=qydz) and fbsj ...追问

能写的具体点么?我也知道逻辑是这样的。

追答

fbsj是日期字段么? 数据库是哪一种,不同的数据库所用的日期函数也不尽相同,需要具体一点