为了账号安全,请及时绑定邮箱和手机立即绑定

关于sql 数据类型转换的问题

关于sql 数据类型转换的问题

动漫人物 2018-12-07 06:43:00
现有表如下: id  id2  value -------------------- 1  1  1/2 2  1  1/2 3  2  50 4  2  50 上表中value的数据类型为varchar。id2相同的情况下,每个id对应的value的和为1或100。 现在要把表转换成: id  id2  value -------------------- 1  1  50 2  1  50 3  2  50 4  2  50 对应的sql语句该怎么写。
查看完整描述

5 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

 1 create table #t(id int, id2 int,value varchar(50))
 2 insert #t
 3 select 1,1,'1/2'
 4 union all
 5 select 2,1,'1/2'
 6 union all
 7 select 3,2,'50'
 8 union all
 9 select 4,2,'50'
12 update #t
13 set value=100*1.0/a.cnt
14 from (select id2,count(1)as cnt from #t group by id2)a
15 where #t.id2=a.id2
16 select * from #t
查看完整回答
反对 回复 2019-01-07
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

没看懂问题

查看完整回答
反对 回复 2019-01-07
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

表示看不懂,描述清晰一点

查看完整回答
反对 回复 2019-01-07
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

好深奥的问题呀

查看完整回答
反对 回复 2019-01-07
?
ibeautiful

TA贡献1993条经验 获得超5个赞

UPDATE Table SET value=50 WHERE id2 IN(SELECT id2 FROM Table GROUP BY id2 HAVING COUNT(id2)>1 AND SUM(value)=1)

希望能帮到你!

查看完整回答
反对 回复 2019-01-07
  • 5 回答
  • 0 关注
  • 460 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信