select pio.* from tb_process_info pio where 
not exist (select * from (select * from (select PatientId, ProcessId,DiseaseCode,UpdateDate,count(Status) cntStatus from tb_process_info group by PatientId, ProcessId,DiseaseCode,UpdateDate) info where cntStatus>1) pii
where pii.PatientId=pio.PatientId and pii.ProcessId=pio.ProcessId and pii.DiseaseCode=pio.DiseaseCode and pii.UpdateDate=pio.UpdateDate)运行后,报第二个select出错,里面的字段我保证都是有的,以前很少用exist,现在竟然不知道怎么用了,郁闷

解决方案 »

  1.   

    这样?
    select pio.* from tb_process_info pio where 
    not exists (select * from (select * from (select PatientId, ProcessId,DiseaseCode,UpdateDate,count(Status) cntStatus from tb_process_info group by PatientId, ProcessId,DiseaseCode,UpdateDate) info where cntStatus>1) pii
    where pii.PatientId=pio.PatientId and pii.ProcessId=pio.ProcessId and pii.DiseaseCode=pio.DiseaseCode and pii.UpdateDate=pio.UpdateDate)
      

  2.   

    好像是拼写错误。not exists写成了not exist
      

  3.   

    exists .少一个s 不知道是不是笔误?
      

  4.   

    select pio.* from tb_process_info pio where 
    not exist (select * from (select * from (select PatientId, ProcessId,DiseaseCode,UpdateDate,count(Status) cntStatus from tb_process_info group by PatientId, ProcessId,DiseaseCode,UpdateDate) info where cntStatus>1) pii
    where pii.PatientId=pio.PatientId and pii.ProcessId=pio.ProcessId and pii.DiseaseCode=pio.DiseaseCode and pii.UpdateDate=pio.UpdateDate)-----------------------------------------------------------------
    select pio.* from tb_process_info pio where 
    not exists (select * from (select * from (select PatientId, ProcessId,DiseaseCode,UpdateDate,count(Status) cntStatus from tb_process_info group by PatientId, ProcessId,DiseaseCode,UpdateDate) info where cntStatus>1) pii
    where pii.PatientId=pio.PatientId and pii.ProcessId=pio.ProcessId and pii.DiseaseCode=pio.DiseaseCode and pii.UpdateDate=pio.UpdateDateexist-->exists
      

  5.   

    改成这样呢:select pio.* 
    from tb_process_info pio 
    where not exists
    (
     select * from 
     ( 
       select * from 
       (
          select PatientId, ProcessId,DiseaseCode,UpdateDate,count(Status) cntStatus 
          from tb_process_info 
          group by PatientId, ProcessId,DiseaseCode,UpdateDate
       ) info 
       where cntStatus>1
     ) pii
     where pii.PatientId=pio.PatientId and pii.ProcessId=pio.ProcessId and
     pii.DiseaseCode=pio.DiseaseCode and pii.UpdateDate=pio.UpdateDate
    )
      

  6.   

    晕啊,真的是exists写成了exist...郁闷