estate=00为未上报,还有另一种情况(难题)就是比如2006年第一季度根本没信息,也要体现出来.有一位朋友回答过我,代码如下,但我试了后,明明qyid为967,年度为2006年第二季度是有信息记录的,搜索出来也没排除掉.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'
qy_qyjbqk 企业信息表 表内字段 qyid(企业id,主键), qymc (企业名称) qy_qybb 企业报表 表内字段 qyid (企业表内码), bbid (报表id,主键) ,nf(报表年份),jd(报表季度), estate(00企业端,01己上报) 现在想根据 企业名称为条件或企业名称+年份为条件 的方式搜索出 例如2006年季报(季度分别为第1季度第2季度第3季度第4季度) 未上报企业的信息(重点是未上报的可能是空信息),可以用年份+季度体现出来.、、、----------------------------------- select * from qy_qyjbqk a where not exists(select 1 from qy_qybb where a.qyid = qyid and estate ='00' and nf = '2006')
select * from qy_qyjbqk a where not exists(select 1 from qy_qybb where qyid=a.qyid and nf='2006' and estate='01') and qyid='967'
(
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'
qy_qybb 企业报表 表内字段 qyid (企业表内码), bbid (报表id,主键) ,nf(报表年份),jd(报表季度), estate(00企业端,01己上报) 现在想根据 企业名称为条件或企业名称+年份为条件 的方式搜索出 例如2006年季报(季度分别为第1季度第2季度第3季度第4季度) 未上报企业的信息(重点是未上报的可能是空信息),可以用年份+季度体现出来.、、、-----------------------------------
select *
from qy_qyjbqk a
where not exists(select 1 from qy_qybb where a.qyid = qyid and estate ='00' and nf = '2006')