根据条件执行不同查询语句,动态产生不同列的表,条件为空时显示所有列,语句如下:
create PROCEDURE testscrbb --rcc
@mc nvarchar(60)
as
if @mc='冲压引线框架半成品'
begin
select 物料编码,物料名称,规格型号,
(CASE 冲压半成品日产出 WHEN 0 THEN NULL ELSE 冲压半成品日产出 END) 冲压半成品日产出 ,
(CASE 冲压半成品产月产出 WHEN 0 THEN NULL ELSE 冲压半成品产月产出 END) 冲压半成品产月产出,
(CASE 即时库存 WHEN 0 THEN NULL ELSE 即时库存 END) 即时库存
from ssrbb where 物料名称=@mc
end
else begin
if @mc='表面处理引线框架'
begin
select 物料编码,物料名称,规格型号,
(CASE 表面处理半成品日产出 WHEN 0 THEN NULL ELSE 表面处理半成品日产出 END) 表面处理半成品日产出,
(CASE 表面处理半成品产月产出 WHEN 0 THEN NULL ELSE 表面处理半成品产月产出 END) 表面处理半成品产月产出,
(CASE 即时库存 WHEN 0 THEN NULL ELSE 即时库存 END) 即时库存
from ssrbb where 物料名称=@mc
end
else begin
if @mc='成型引线框架'
begin
select 物料编码,物料名称,规格型号,
(CASE 成型半成品日产出 WHEN 0 THEN NULL ELSE 成型半成品日产出 END) 成型半成品日产出,
(CASE 成型半成品产月产出 WHEN 0 THEN NULL ELSE 成型半成品产月产出 END) 成型半成品产月产出,
(CASE 即时库存 WHEN 0 THEN NULL ELSE 即时库存 END) 即时库存
from ssrbb where 物料名称=@mc
end
else begin
if @mc='引线框架'
begin
select 物料编码,物料名称,规格型号,
(CASE 成品日产出 WHEN 0 THEN NULL ELSE 成品日产出 END) 成品日产出,
(CASE 成品产月产出 WHEN 0 THEN NULL ELSE 成品产月产出 END) 成品产月产出,
(CASE 即时库存 WHEN 0 THEN NULL ELSE 即时库存 END) 即时库存
from ssrbb where 物料名称=@mc
end
else
begin
if @mc=''
begin
select 物料编码,物料名称,规格型号,
(CASE 冲压半成品日产出 WHEN 0 THEN NULL ELSE 冲压半成品日产出 END) 冲压半成品日产出 ,
(CASE 冲压半成品产月产出 WHEN 0 THEN NULL ELSE 冲压半成品产月产出 END) 冲压半成品产月产出,
(CASE 表面处理半成品日产出 WHEN 0 THEN NULL ELSE 表面处理半成品日产出 END) 表面处理半成品日产出,
(CASE 表面处理半成品产月产出 WHEN 0 THEN NULL ELSE 表面处理半成品产月产出 END) 表面处理半成品产月产出,
(CASE 成型半成品日产出 WHEN 0 THEN NULL ELSE 成型半成品日产出 END) 成型半成品日产出,
(CASE 成型半成品产月产出 WHEN 0 THEN NULL ELSE 成型半成品产月产出 END) 成型半成品产月产出,
(CASE 成品日产出 WHEN 0 THEN NULL ELSE 成品日产出 END) 成品日产出,
(CASE 成品产月产出 WHEN 0 THEN NULL ELSE 成品产月产出 END) 成品产月产出,
(CASE 即时库存 WHEN 0 THEN NULL ELSE 即时库存 END) 即时库存
from ssrbb
end
end
end
end
end
选择 物料名称='表面处理引线框架’ 时,提示有错误?
见下图,帮忙看看什么原因?
正确应该显示: