首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

insert into 中有两个相同的计算,必须写两个?该怎么解决

2012-05-15 
insert into 中有两个相同的计算,必须写两个?insert into a (feiyong, feiyong2) values(case when zijin

insert into 中有两个相同的计算,必须写两个?
insert into a (feiyong, feiyong2) values(case when zijin * feilv<5 then 5 else zijin * feilv end,(case when zijin * feilv<5 then 5 else zijin * feilv end)/ 5 )

有两个 case when zijin * feilv<5 then 5 else zijin * feilv end 。可以搞成一个么?

[解决办法]
不能把
[解决办法]

SQL code
        ALTER TABLE a ALTER COLUMN feiyong2 AS feiyong/5        INSERT INTO a( feiyong)SELECT (CASE WHEN zijin * feilv < 5 THEN 5               ELSE zijin * feilv          END )
[解决办法]
二楼的方法很好啊,为啥不这样计算??
[解决办法]
2楼方法好。
另外楼主你values后面应该有select吧。
注意:在SELECT后面如果有列别名,只能在SELECT被使用后才能使用。例如:SELECT C1+C2 AS ABC,ABC+C3 AS EFG就是错误的,因为列别名ABC在前面的步骤中根本没有生成;而SELECT C1+C2 AS ABC FROM TABLE ORDER BY ABC就是正确的,因为这时候列别名ABC已经在前面的步骤中生成,因此ORDER BY 可以使用。

热点排行