导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

请教 求百分比

dsqempress 2008-01-24 12:16:41
select i.id as id,i.game as gm, i.name as name, sp.LV as lv, sp.A as A,sp.B as B from T_item as i left join T_itemSp as sp on i.id = sp.ItemID where sp.ItemID = 15

A~B 是根据lv的值来决定 比如说lv有5 那么 就是sp.A~sp.E 最多到Z

如何求的 A~B 的百分比

id gm name lv A B
15 1 test 2 100 100

我要求A 和 B的 百分比 比如 A 50% B 50%

不知道SQL语句能不能实现?
或者VB.NET代码如何实现?
...全文
63 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangCK 2008-01-24
没看懂.
回复
dsqempress 2008-01-24
For x As Integer = 0 To lv - 1
lvs += "sp." & cs(x) & " as " & cs(x) & ","
tb(x) = cs(x)
Next

db.SQL = "select i.id as id,i.game as gm, i.name as name, sp.LV as lv, " & lvs & " " _
& "from T_item as i left join T_itemSp as sp on i.id = sp.ItemID where sp.ItemID = " & id & ""

lvs 是我根据 lv长度拼接起来的
回复
pt1314917 2008-01-24

id gm name lv A B
15 1 test 2 100 100
-----------------------------------------
直接把这个结果按百分比输出:
create table yu(id int,gm int,name varchar(10),lv int,A int,B int)
insert into yu select 15, 1 , 'test' , 2 , 100 , 100


select a=ltrim(cast(a*100.0/(a+b) as numeric(5,2)))+'%',
b=ltrim(cast(b*100.0/(a+b) as numeric(5,2)))+'%'
from yu
回复
dawugui 2008-01-24
不固定不好搞.
回复
-狙击手- 2008-01-24
select a,b,a*1.0/(a+b) as A百分比,b*1.0/(a+b) as B百分比
from ta
回复
liangCK 2008-01-24
看看
回复
dsqempress 2008-01-24
A B并不固定 根据 lv增长
如果 lv是5 那么查询的字段就有 a b c d e

我是要 比如a~z 这些字段中 ,每个字段占到了100%中的 %多少
回复
dawugui 2008-01-24
是根据lv的值来决定?

这个看不懂
回复
dawugui 2008-01-24
id gm name lv A B
15 1 test 2 100 100

是按A,B对分?
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告