sql语句:在一个表中查询符合条件的数据
我现在想将我zfxx表中的lxr,lxdh,qydz三个字段中的内容有两项相同,并且fbsj在两个月以内的数据检索出来,sql语句能实现么?怎么实现?fbsj是日期类型,...
我现在想将我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间隔在两个月以内的数据查询出来 展开
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间隔在两个月以内的数据查询出来 展开
4个回答
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
)
)
查询时间最晚那一条,然后进行对比
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
)
)
查询时间最晚那一条,然后进行对比
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要把表结构拿出来看看,否则缺少条件,没法匹配是否相同的记录。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *
from zfxx
where (lxr = lxdh or lxr = qydz or lxdh = qydz)
and fbsj between add_months(sysdate,-2) and sysdate;
from zfxx
where (lxr = lxdh or lxr = qydz or lxdh = qydz)
and fbsj between add_months(sysdate,-2) and sysdate;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(lxr=lxdh or lxr=qydz or lxdh=qydz) and fbsj ...
追问
能写的具体点么?我也知道逻辑是这样的。
追答
fbsj是日期字段么? 数据库是哪一种,不同的数据库所用的日期函数也不尽相同,需要具体一点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |