碰到一个难题,想不出来.请教了
qy_qyjbqk 企业信息表  表内字段  qyid(企业id,主键), qymc (企业名称)
qy_qybb    企业报表  表内字段 qyid (企业表内码), bbid (报表id,主键) ,nf(报表年份),jd(报表季度), estate(00企业端,01己上报)现在想根据 企业名称为条件或企业名称+年份为条件 的方式搜索出 例如2006年季报(季度分别为第1季度第2季度第3季度第4季度) 未上报企业的信息,可以用年份+季度体现出来.

解决方案 »

  1.   

    select a.qyid,a.qymc,b.nf+'-'+b.jd
    from qy_qybb b
    left join qy_qyjbqk a
    on a.qyid = b.qyid
    where b.estate = '00'
      

  2.   

    select t.* from
    (
      select qyid , nf , jd from qy_qyjbqk , 
      (
        select 2006 as nf , 1 as jd union 
        select 2006 , 2 union 
        select 2006 , 3 union 
        select 2006 , 4 
      ) b
    ) t
    where checksum(qyid , nf , jd) not in (select checksum(qyid , nf , jd) from qy_qybb)
      

  3.   

    我利用了您的语句,但有记录的报表仍然会被搜索出来,请问是什么问题呢jd字段我存的是 1季度,2季度...这种类型,所以改了一个SQL语句
    select t.* from
    (
      select qyid , nf , jd from qy_qyjbqk , 
      (
        select 2006 as nf , '1季度' as jd union 
        select 2006 , '2季度' union 
        select 2006 , '3季度' union 
        select 2006 , '4季度' 
      ) b
    ) t where checksum(qyid , nf , jd) not in (select checksum(qyid , nf , jd) from qy_qybb) and qyid='967'