最后更新的我自己要得到的sql,累了我四天终于弄出了点成绩,虽然很小

来源:互联网 发布:网络网名吸引女孩子 编辑:程序博客网 时间:2024/05/16 00:38

 declare @ID varchar(10)
set @ID='2'
declare @var nvarchar(1000)
set @var='select p.评级,sum((p.止点桩号 - p.起点桩号)) as 长度,sum((p.止点桩号 - p.起点桩号))*100/sum((l.止点桩号 - l.起点桩号)) as 比例,p.检测方向
from pjjg_mqi p,lxjbxx l '
set @var=@var+'where p.项目编码= ''' + @ID
set @var=@var+''' group by p.检测方向,p.评级'
--exec (@var)
--,p.评级
if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''差'',0,0,1'
 end

if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''差'',0,0,2'
 end


if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''次'',0,0,1'
 end

 

if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''次'',0,0,2'
end


if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''中'',0,0,1'
 end
if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''中'',0,0,2'
 end

if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''良'',0,0,1'
 end

if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''良'',0,0,2'
 end
if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''优'',0,0,1'
 end

if  not exists (
  select 评级

  from pjjg_mqi
 
  where 评级='差' and 检测方向=1 and 项目编码=@ID
  
)
 begin
  set @var=@var + '
   union
   select ''优'',0,0,2'
 end
set @var=@var+' order by p.评级,p.检测方向'
exec (@var)
GO

原创粉丝点击