没人会吗?
我做工程急着用呀?
由于我要对表的列进行操作,不方便,所以想将行列互换!否则解决下面的问题也行!我有表如下:
表名:tabale1
名称 内科 外科 儿科
西药 233 123 100
中药 200 56 78
材料 100 45 78
总计 0 0 0
支出 500 300 200
奖金 0 0 0我想通过一个sql语句,得到:总计的值和奖金的值!
总计=西药+中药+材料
奖金=总计*0.3用update语句能实现吗?这样好象不方便呀
我做工程急着用呀?
由于我要对表的列进行操作,不方便,所以想将行列互换!否则解决下面的问题也行!我有表如下:
表名:tabale1
名称 内科 外科 儿科
西药 233 123 100
中药 200 56 78
材料 100 45 78
总计 0 0 0
支出 500 300 200
奖金 0 0 0我想通过一个sql语句,得到:总计的值和奖金的值!
总计=西药+中药+材料
奖金=总计*0.3用update语句能实现吗?这样好象不方便呀
UPDATE table1
SET 内科=h.a,
外科=h.b,
儿科=h.c
FROM (
SELECT SUM(内科) AS a,
SUM(外科) AS b,
SUM(儿科) AS c
FROM table1
WHERE 名称 IN ('西药','中药','材料')) h
WHERE 名称='总计'--根据总计计算奖金
UPDATE table1
SET 内科=h.a,
外科=h.b,
儿科=h.c
FROM (
SELECT 内科 AS a,
外科 AS b,
儿科 AS c
FROM table1
WHERE 名称='总计') h
WHERE 名称='奖金'
UPDATE table1
SET 内科=h.a*0.3,
外科=h.b*0.3,
儿科=h.c*0.3
FROM (
SELECT 内科 AS a,
外科 AS b,
儿科 AS c
FROM table1
WHERE 名称='总计') h
WHERE 名称='奖金'
又怎么写呀,我是菜鸟,求帮助!
UPDATE table1
SET 内科=(h.a-l.a)*0.3,
外科=(h.b-l.b)*0.3,
儿科=(h.c-l.c)*0.3
FROM (
SELECT 内科 AS a,
外科 AS b,
儿科 AS c
FROM table1
WHERE 名称='总计') h,
(
SELECT 内科 AS a,
外科 AS b,
儿科 AS c
FROM table1
WHERE 名称='支出') l
WHERE 名称='奖金'