请高手帮助完成以下SQL的写法

aspjsp 2005-09-21 02:59:58
现在表 WH_SQ_RSVR_R和WH_SQ_RNFL_R
两张表都用TBSJ(填报时间作为主键)
这两张表在同一时间内进行填报,

现在给定条件是

2005-09-20

请查出在这一时间面的所填全部数据
...全文
169 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
syril2005 2005-09-25
时间应该就是'2005-09-20'吧,不会变的
只需以下代码便可查询:
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and a.tbsj=‘2005-09-20’
回复
iwl 2005-09-24
自强不息的:
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and a.tbsj between '2005-09-20' and '2005-09-21'

这个应该比 where a.tbsj=b.tbsj and a.tbsj = '2005-09-20' 要好一点
但是写成下面的会更好一点
where (a.tbsj 〉'2005-09-20' and a.tbsj<'2005-09-21') and a.tbsj=b.tbsj
把条件写在前面,速度会更快一点。between是不能优化的。还是用〉、<好一些。

rivery(river):
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and datediff(d,a.tbsj,'2005-09-20')=0
这2个没有什么区别
回复
回复人: lisiyong(小样) :
select a.*,b.*

from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b

where a.tbsj=b.tbsj and a.tbsj = '2005-09-20'
我觉得这个最合适
回复
NOKIA_LIU 2005-09-24
自强不息的:
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and a.tbsj between '2005-09-20' and '2005-09-21'

rivery(river):
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and datediff(d,a.tbsj,'2005-09-20')=0
这2个有什么区别?
在什么情况下取到的数据是相同的,什么情况下取到的数据是不同的?
高手指点一下!


回复
xzq111 2005-09-24
楼上的结果是错误的,select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and a.tbsj>'2005-09-20' and a.tbsi<'2005-09-21'性能会好些
回复
youngmo1 2005-09-22
你这个问题没有写清楚哦
回复
lisiyong 2005-09-22
select a.*,b.*

from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b

where a.tbsj=b.tbsj and a.tbsj = '2005-09-20'
回复
zengzhengliang 2005-09-22
以上都可以的。支持
回复
rivery 2005-09-21
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and datediff(d,a.tbsj,'2005-09-20')=0
回复
wgsasd311 2005-09-21
select a.*,b.* from WH_SQ_RSVR_R a,WH_SQ_RNFL_R b
where a.tbsj=b.tbsj and a.tbsj between '2005-09-20' and '2005-09-21'
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-09-21 02:59
社区公告
暂无公告