要在表OB_QUEUES中查QueueID,Invalid两个字段满足JobID='test',同时还要在另外一个表OB_CONYACT_TEST中查满足QueueID和JobID等于上面查到的,每一对(QueueID,JobID)存在的记录条数,命名为Number,最后要得到结果记录的形式是QueueID     Invalid     Number   三列,数据库是Oracle select   Ob_Queues.Queueid,Ob_Queues.Invalid,Ob_Contact_Test.Count(queueid) 
from   Ob_Queues   left   join   OB_CONTACT_TEST 
on   Ob_Queues.Queueid=OB_CONTACT_TEST.QUEUEID 
where   Ob_Queues.Jobid='test' 
我这样写的怎么不好使?

解决方案 »

  1.   


    select       Ob_Queues.Queueid,Ob_Queues.Invalid,Count(Ob_Contact_Test.queueid)   
    from       Ob_Queues       left       join       OB_CONTACT_TEST   
    on       Ob_Queues.Queueid=OB_CONTACT_TEST.QUEUEID 
    where       Ob_Queues.Jobid='test'   
      

  2.   

    楼主说的不明白,就这么几句话怎么也表达不明白呢select       Ob_Queues.Queueid,Ob_Queues.Invalid,Count(Ob_Contact_Test.queueid)   
    from       Ob_Queues       left       join       OB_CONTACT_TEST   
    on       Ob_Queues.Queueid=OB_CONTACT_TEST.QUEUEID 
    where       Ob_Queues.Jobid='test'   
    group by Ob_Queues.Queueid,Ob_Queues.Invalid
      

  3.   

    试试,对oracal不是很熟SELECT Ob_Queues.Queueid,Ob_Queues.Invalid,COUNT(Ob_Queues.Queueid) as Number from OB_QUEUES,OB_CONYACT_TEST WHERE Ob_Queues.Queueid=OB_CONTACT_TEST.QUEUEID and Ob_Queues.Jobid='test'   
      

  4.   


    SELECT Ob_Queues.Queueid,Ob_Queues.Invalid,COUNT(Ob_Queues.Queueid) as Number from OB_QUEUES,OB_CONYACT_TEST 
    WHERE Ob_Queues.Queueid=OB_CONTACT_TEST.QUEUEID and Ob_Queues.Jobid='test' group by Ob_Queues.Queueid
      

  5.   

    试试这个吧,应该是你所要的结果。
    select distinct A.Queueid,A.Invalid,count(A.Queueid)over(Partition by A.QUEUEID order by A.QUEUEID) nNumber
    from dlg_ob_queues A
    left join dlg_ob_conyact_test B
    on A.Queueid=B.Queueid and A.Jobid = B.Jobid
    where A.Jobid = 'test'
      

  6.   

    Ob_Contact_Test.Count(queueid)   
    count(Ob_Contact_Test.queueid)