Sql server sql server语句返回值2次
当我查询上述代码时,我得到了两次结果 如果有一行管理员的队列号为1005, 我有两次Sql server sql server语句返回值2次,sql-server,Sql Server,当我查询上述代码时,我得到了两次结果 如果有一行管理员的队列号为1005, 我有两次 知道吗?如果只有一个队列号为1005的就诊行,则必须有两个事件行的loginid与就诊行的loginid匹配。如果只有一个就诊行的loginid与队列号为1005,则必须有两个事件行的loginid与就诊行的loginid匹配。如何缩短它 select loginname as 'Officer', CONVERT(VARCHAR(10), visit.tmstamp, 105) as 'Date', vis
知道吗?如果只有一个队列号为1005的就诊行,则必须有两个事件行的loginid与就诊行的loginid匹配。如果只有一个就诊行的loginid与队列号为1005,则必须有两个事件行的loginid与就诊行的loginid匹配。如何缩短它
select
loginname as 'Officer',
CONVERT(VARCHAR(10), visit.tmstamp, 105) as 'Date',
visit.queueno
from visit,event where ( visit.branchno='1007' )
and
(visit.wstation='1' or visit.wstation='10' or visit.wstation='11' or visit.wstation='15' or visit.wstation='2' or visit.wstation='20' or visit.wstation='21' or visit.wstation='23' or visit.wstation='24' or visit.wstation='28' or visit.wstation='29' or visit.wstation='3' or visit.wstation='30' or visit.wstation='31' or visit.wstation='32' or visit.wstation='33' or visit.wstation='4' or visit.wstation='5' or visit.wstation='6' or visit.wstation='7' or visit.wstation='8' or visit.wstation='9' ) and (visit.catname='BY PASS' or visit.catname='REG STORE' or visit.catname='REGISTRATION' or visit.catname='ROOM 1 to 4' or visit.catname='ROOM A1 & A2' or visit.catname='ROOM A3 & A4' or visit.catname='ROOM A5-A7&A9-A11' or visit.catname='ROOM A8-BMD' or visit.catname='ROOM B20' or visit.catname='ROOM B21 B23 B24' or visit.catname='Ward Cases' ) and (visit.btnname='BY PASS' or visit.btnname='REG STORE' or visit.btnname='REGISTRATION' or visit.btnname='ROOM 1 to 4' or visit.btnname='ROOM A1 & A2' or visit.btnname='ROOM A3 & A4' or visit.btnname='ROOM A5-A7&A9-A11' or visit.btnname='ROOM A8-BMD' or visit.btnname='ROOM B20' or visit.btnname='ROOM B21' or visit.btnname='B23' or visit.btnname='B24' or visit.btnname='Ward Cases' ) and ( (Day(visit.tmstamp)=1 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=2 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=3 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=4 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=5 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=6 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=7 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=8 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=9 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=10 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=11 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=12 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=13 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=14 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=15 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=16 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=17 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=18 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=19 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=20 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=21 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=22 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=23 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=24 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=25 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=26 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=27 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=28 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=29 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=30 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=31 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) )
and
((loginname='Administrator') or (loginname='121 JUDY YAP CHEO T') or (loginname='044 Noor Faiza') or (loginname='109 Jaya'))
and
(CONVERT(VARCHAR(10), visit.tmstamp, 105)=CONVERT(VARCHAR(10), event.tmstamp, 105))
and
(visit.loginid=event.loginid)
类似的事情也可以通过其他标准来完成
避免这种讽刺的一个好方法是不要让编写糟糕的工具生成SQL。如何缩短它
select
loginname as 'Officer',
CONVERT(VARCHAR(10), visit.tmstamp, 105) as 'Date',
visit.queueno
from visit,event where ( visit.branchno='1007' )
and
(visit.wstation='1' or visit.wstation='10' or visit.wstation='11' or visit.wstation='15' or visit.wstation='2' or visit.wstation='20' or visit.wstation='21' or visit.wstation='23' or visit.wstation='24' or visit.wstation='28' or visit.wstation='29' or visit.wstation='3' or visit.wstation='30' or visit.wstation='31' or visit.wstation='32' or visit.wstation='33' or visit.wstation='4' or visit.wstation='5' or visit.wstation='6' or visit.wstation='7' or visit.wstation='8' or visit.wstation='9' ) and (visit.catname='BY PASS' or visit.catname='REG STORE' or visit.catname='REGISTRATION' or visit.catname='ROOM 1 to 4' or visit.catname='ROOM A1 & A2' or visit.catname='ROOM A3 & A4' or visit.catname='ROOM A5-A7&A9-A11' or visit.catname='ROOM A8-BMD' or visit.catname='ROOM B20' or visit.catname='ROOM B21 B23 B24' or visit.catname='Ward Cases' ) and (visit.btnname='BY PASS' or visit.btnname='REG STORE' or visit.btnname='REGISTRATION' or visit.btnname='ROOM 1 to 4' or visit.btnname='ROOM A1 & A2' or visit.btnname='ROOM A3 & A4' or visit.btnname='ROOM A5-A7&A9-A11' or visit.btnname='ROOM A8-BMD' or visit.btnname='ROOM B20' or visit.btnname='ROOM B21' or visit.btnname='B23' or visit.btnname='B24' or visit.btnname='Ward Cases' ) and ( (Day(visit.tmstamp)=1 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=2 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=3 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=4 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=5 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=6 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=7 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=8 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=9 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=10 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=11 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=12 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=13 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=14 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=15 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=16 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=17 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=18 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=19 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=20 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=21 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=22 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=23 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=24 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=25 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=26 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=27 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=28 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=29 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=30 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) OR (DAY(visit.tmstamp)=31 AND MONTH(visit.tmstamp)=12 AND YEAR(visit.tmstamp)=2010) )
and
((loginname='Administrator') or (loginname='121 JUDY YAP CHEO T') or (loginname='044 Noor Faiza') or (loginname='109 Jaya'))
and
(CONVERT(VARCHAR(10), visit.tmstamp, 105)=CONVERT(VARCHAR(10), event.tmstamp, 105))
and
(visit.loginid=event.loginid)
类似的事情也可以通过其他标准来完成
避免这种讽刺的一个好方法是,不要让编写糟糕的工具生成SQL。这可能意味着管理员有两个事件需要满足其他条件。[顺便说一句,我刚刚向右滚动,这是一个可怕的查询!]+1@Mitch-Wheat-这是一个小小的滚动条手柄。我害怕自己滚动。是的,我知道。。那太可怕了。有没有缩短的办法?您可以忽略where语句。问题不在这里..RE:“任何缩短它的想法”-使用
visit.tmstamp>='20101201'和visit.tmstamp<'20110101'
而不是93个不同的年/月/日比较将是一个开始!您也可以在中使用,而不是在同一列上使用一堆或
语句。但是,既然tmstamp具有dd/mm/yyyy hh:mm:ss tt,那么这样做可以吗?这可能意味着管理员有两个事件满足其他条件。[顺便说一句,我刚刚向右滚动,这是一个可怕的查询!]+1@Mitch-Wheat-这是一个小小的滚动条手柄。我害怕自己滚动。是的,我知道。。那太可怕了。有没有缩短的办法?您可以忽略where语句。问题不在这里..RE:“任何缩短它的想法”-使用visit.tmstamp>='20101201'和visit.tmstamp<'20110101'
而不是93个不同的年/月/日比较将是一个开始!您也可以在
中使用,而不是在同一列上使用一堆或
语句。但是,既然tmstamp有dd/mm/yyyy hh:mm:ss tt,那么这样做可以吗?