早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在一个表内怎么用sql语句把符合条件的条目的相应字段的数据,具体请见问题补充就是根据我系统里现在有的这个表(表明就是叫table):序号名称原价现价差值浮动范围类别登记日期1

题目详情
在一个表内怎么用sql语句把符合条件的条目的相应字段的数据,具体请见问题补充
就是根据我系统里现在有的这个表(表明就是叫table):
序号 名称 原价 现价 差值 浮动范围 类别 登记日期
1 铅笔 1.0 A 2010-01
2 橡皮 1.5 A 2010-01
3 尺子 2.0 A 2010-01
4 铅笔 1.2 B 2010-02
5 橡皮 1.55 B 2010-02
6 尺子 2.2 B 2010-03
是通过一个asp页面 ,比如输入日期为2010-02的时间,系统会更新时间为2010-02且类别为B类的表,将符合条件的条目当中原价,差值,浮动范围都填好,现怎么用一条sql语句实现呢?(现价都是通过调用相应商品名,日期且类别为A实现的)实现后的表的变化如下:
序号 名称 原价 现价 差值 浮动范围 类别 登记日期
1 铅笔 1.0 A 2010-01
2 橡皮 1.5 A 2010-01
3 尺子 2.0 A 2010-01
4 铅笔 1.0 1.2 0.2 5%以上 B 2010-02
5 橡皮 1.5 1.55 0.05 5%以内 B 2010-02
6 尺子 2.0 2.2 0.2 5%以上 B 2010-03
请会的人帮帮忙,我敲这么多表格啥的也不容易~
▼优质解答
答案和解析
table 是系统中关键字,如果用作表名就要用“[]”括起来
update [table] set 原价=ta.原价,差值=tb.现价-ta.原价,浮动范围=
(case when ((tb.现价-ta.原价)/ta.原价)>0.05 then '5%以上'
else '5%以内' end)
from [table] tb,(select * from [table] where 类别='A') ta
where ta.名称=tb.名称 and tb.登记日期='2010-02' and tb.类别='B'