SQL的值太多

  • 本文关键字:太多 SQL sql oracle
  • 更新时间 :
  • 英文 :


成员{id,通过,名称,年龄,性别,电子邮件,sysdate}loginlog {id,sys}

我想确保排除所有以前的登录数据

 select
  to_char(ll.SYS),
  mm.ID,
  count(*)
from 
    member mm, 
    loginlog ll 
where 
    mm.ID=ll.ID  
    and (
         (select 
                to_char(l.SYS),
                m.ID,
                count(*) 
                from member m , loginlog l
            where  l.ID = m.ID group by(to_char(l.SYS) , m.ID)
          ) != all(select to_char(ls.SYS), ls.ID ,ls.NUM from loginsave ls)
      ) 
group by(to_char(ll.SYS),mm.ID);

这给出了"

ORA-00913: too many values
00913. 00000 -  "too many values"
*Cause:    
*Action:
11, 11 column error 

这是您要做的吗?

select to_char(ll.SYS), mm.ID, count(*)
from member mm join
     loginlog ll 
     on mm.ID = ll.ID  
group by to_char(ll.SYS), mm.ID
having (to_char(ll.SYS), mm.ID, count(*)) not in
           (select to_char(ls.SYS), ls.ID, ls.NUM from loginsave ls);

最新更新