select top 10 * from ViewBgbh where 综合判定='/' and (报告编号 in (select 报告编号 from ViewJyxm)) and (报告编号 not in (select 报告编号 from ViewJyxm where 结果='')) order by 报告编号
原句目的是从ViewBgbh中查询所有字段,条件是在ViewJyxm中存在,但必须 结果!='',以上语句可以达到目的,只是效率太低,求优化语句
原句目的是从ViewBgbh中查询所有字段,条件是在ViewJyxm中存在,但必须 结果!='',以上语句可以达到目的,只是效率太低,求优化语句
*
FROM ViewBgbh
WHERE 综合判定 = '/'
AND ( 报告编号 IN ( SELECT 报告编号
FROM ViewJyxm ) )
AND ( 报告编号 NOT IN ( SELECT 报告编号
FROM ViewJyxm
WHERE 结果 = '' ) )ORDER BY 报告编号改后程序:SELECT TOP 10
*
FROM ViewBgbh
WHERE 综合判定 = '/'
AND ( 报告编号 IN ( SELECT 报告编号
FROM ViewJyxm WHERE 结果 <> '') )
ORDER BY 报告编号
select top 10 a.* from
ViewBgbh a
inner join ViewJyxm b on a.报告编号=b.报告编号 and b.结果<>''
where a.综合判定='/' order by a.报告编号
select top 10 * from ViewBgbh a where 综合判定='/' and
exists (select * from ViewJyxm where 报告编号 = a.报告编号 and 结果 <> '')
order by 报告编号--并在报告编号上创建聚集索引,表或视图都没有关系,若是视图,需要先将视图绑定到架构
SELECT TOP 10 A1.*
FROM ViewBgbh AS A1
JOIN ViewJyxm AS A2 ON (A1.报告编号=A2.报告编号)
WHERE A1.综合判定='/' AND A2.结果=''
ORDER BY A1.报告编号
where 综合判定='/'
and 报告编号 in (select 报告编号 from ViewJyxm where 结果!='')
order by 报告编号