这是一条sql 语句,表示如果有就不执行,如果没有就将值赋空
2007-04-26 10:23
507 查看
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 group by p.检测方向,p.评级'
--,p.评级
if not exists (
select 评级
from pjjg_mqi
where 评级='差' and 检测方向=1
)
begin
set @var=@var + '
union
select ''差'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='差' and 检测方向=2
)
begin
set @var=@var + '
union
select ''差'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='次' and 检测方向=1
)
begin
set @var=@var + '
union
select ''次'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='次' and 检测方向=2
)
begin
set @var=@var + '
union
select ''次'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='中' and 检测方向=1
)
begin
set @var=@var + '
union
select ''中'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='中' and 检测方向=2
)
begin
set @var=@var + '
union
select ''中'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='良' and 检测方向=1
)
begin
set @var=@var + '
union
select ''良'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='良' and 检测方向=2
)
begin
set @var=@var + '
union
select ''良'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='优' and 检测方向=1
)
begin
set @var=@var + '
union
select ''优'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='优' and 检测方向=2
)
begin
set @var=@var + '
union
select ''优'',0,0,2'
end
set @var=@var+' order by p.评级,p.检测方向'
exec (@var)
set @var='select p.评级,sum((p.止点桩号 - p.起点桩号)) as 长度,sum((p.止点桩号 - p.起点桩号))*100/sum((l.止点桩号 - l.起点桩号)) as 比例,p.检测方向
from pjjg_mqi p,lxjbxx l group by p.检测方向,p.评级'
--,p.评级
if not exists (
select 评级
from pjjg_mqi
where 评级='差' and 检测方向=1
)
begin
set @var=@var + '
union
select ''差'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='差' and 检测方向=2
)
begin
set @var=@var + '
union
select ''差'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='次' and 检测方向=1
)
begin
set @var=@var + '
union
select ''次'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='次' and 检测方向=2
)
begin
set @var=@var + '
union
select ''次'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='中' and 检测方向=1
)
begin
set @var=@var + '
union
select ''中'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='中' and 检测方向=2
)
begin
set @var=@var + '
union
select ''中'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='良' and 检测方向=1
)
begin
set @var=@var + '
union
select ''良'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='良' and 检测方向=2
)
begin
set @var=@var + '
union
select ''良'',0,0,2'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='优' and 检测方向=1
)
begin
set @var=@var + '
union
select ''优'',0,0,1'
end
if not exists (
select 评级
from pjjg_mqi
where 评级='优' and 检测方向=2
)
begin
set @var=@var + '
union
select ''优'',0,0,2'
end
set @var=@var+' order by p.评级,p.检测方向'
exec (@var)
相关文章推荐
- 一条SQL 语句执行后返回2笔受影响--如果没有触发器,那就是点到"包括实际的执行计划"!
- SQL Server 第四堂课,创建存储过程。存储过程是一组编译在单个执行计划中的transact-SQL语句。存储过程相当于C#函数,可以允许模块化程序设计,允许更快执行如果某操作需要大量transct-SQL代码或需要重复执行,将在创建存储过程中对其进行分析和优化。
- 执行一条sql语句update多条记录实现思路
- 自动在多个DB上执行同一条sql语句
- oracle中得到一条SQL语句的执行时间的两种方式
- Hibernate如果查询更改了值,没有save,如果提交了仍然会执行update语句(十一)
- 一条执行4秒的sql语句导致的系统问题 (转)
- 转载:如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录
- MyBatis支持一条标签执行多条sql语句
- @@ERROR @@ROWCOUNT 返回的都是上一条SQL 语句后的执行信息。
- oracle中如何得到一条SQL语句的执行时间
- hibernateTemplate.find或hibernateTemplate.save()执行操作没有反应,但是有sql语句
- Mybatis一条语句执行多条sql的方法
- 执行一条sql语句update多条记录实现思路
- 获取一条SQL语句执行了多少时间
- 自动在多个DB上执行同一条sql语句 ( 存储过程版 )
- PL_SQL中执行SELECT … INTO …语句时,如果返回结果集为空
- sql-insert一条语句执行多条数据插入
- oracle中得到一条SQL语句的执行时间的两种方式
- 一条sql语句的执行顺序