SQL - 当天的所有约会

时间:2016-11-03 09:08:10

标签: sql

我有以下查询,我收到了关注错误:

当未使用EXISTS

引入子查询时,只能在选择列表中指定一个表达式

我希望这个日期少于今天,所以如果我的约会没有被标记为"已完成"所以查询将列出我当天的所有约会。

select 
    dodate, regdate,header,starttime,stoptime,userid,custid,objid,infoid,aname 
from fkms.appointment 
where 
    done=0 and del=0 
    and dodate > (SELECT dodate, 
                         DATEADD(d,dodate - 2440587,'1970-01-01'), 
                         ts, 
                         DATEADD(s,ts,'19700101 01:0:00:000')
                  FROM fkms.appointment) 
    and userid='da'

任何提示?

1 个答案:

答案 0 :(得分:0)

您的查询是非法的,因为内部SELECT返回多个值。将其更改为:

select 
    dodate, regdate,header,starttime,stoptime,userid,custid,objid,infoid,aname 
  from fkms.appointment 
 where done   = 0 
   and del    = 0 
   and dodate > GETDATE()
   and userid ='da';

注意:GETDATE()是SQL-SERVER函数。在Oracle中,您有NOW()和其他DBMS类似的功能。找出你需要的那个。