if @duty=1
set @dutycount1=@dutycount
else
if @duty=2
set @dutycount2=@dutycount
else
if @duty=3
set @dutycount3=@dutycount
else
if @duty=4
set @dutycount4=@dutycount
else
if @duty=5
set @dutycount5=@dutycount
else
if @duty=9
set @dutycount6=@dutycount
else
set @dutycount7=@dutycount7+@dutycount
这一段可以不可以用case 啊?
set @dutycount1=@dutycount
else
if @duty=2
set @dutycount2=@dutycount
else
if @duty=3
set @dutycount3=@dutycount
else
if @duty=4
set @dutycount4=@dutycount
else
if @duty=5
set @dutycount5=@dutycount
else
if @duty=9
set @dutycount6=@dutycount
else
set @dutycount7=@dutycount7+@dutycount
这一段可以不可以用case 啊?
在 SELECT 语句中,简单 CASE 函数仅检查是否相等,而不进行其它比较。下面的示例使用 CASE 函数更改图书分类显示,以使其更易于理解。USE pubs
GO
SELECT Category =
CASE type
WHEN 'popular_comp' THEN 'Popular Computing'
WHEN 'mod_cook' THEN 'Modern Cooking'
WHEN 'business' THEN 'Business'
WHEN 'psychology' THEN 'Psychology'
WHEN 'trad_cook' THEN 'Traditional Cooking'
ELSE 'Not yet categorized'
END,
CAST(title AS varchar(25)) AS 'Shortened Title',
price AS Price
FROM titles
WHERE price IS NOT NULL
ORDER BY type, price
COMPUTE AVG(price) BY type
GO