在SQL的CASE语句相当于常用的编程逻辑if ,else,只要前面的条件满足,就不会再去执行下面的语句
例子:
select principal_ids,principal_names from materials_data
where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like
case
when (select count(1) from materials_data where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like '%E06%' ) >= 1 THEN '%E06%'
WHEN (select count(1) from materials_data where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like '%E06%' ) < 1 THEN ''
END
也可以写成如下:
select principal_ids,principal_names from materials_data
where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like
case
when (select count(1) from materials_data where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like'%E06%' ) > 1 THEN '%E06%'
WHEN (select count(1) from materials_data where material_category like '%Z003%' and department_name = '新产品开发中心'
and part_no like '%E06%' ) < 1 THEN ''
ELSE '%E06%' END

3832

被折叠的 条评论
为什么被折叠?



