日期:2014-05-17  浏览次数:20520 次

一个mysql查询的问题,在线等马上就能结贴
脑子糊涂了绕不过来这个弯  求助

我有两个表,t1表存储数据,t2表存储t1表字段的中文名称

t1



t2表



现在想写一条sql语句,能够查出t1表里 id in (1,2,3,4,5)的这几条记录每一个字段值的和,并且把字段名替换成t2表里对应的中文字段名,

结果类似于
array(
   "攻击时附加" =>  6,
   "暴击效果" => 7,
   ....
)

语句应该怎么写?   本来感觉应该不难的怎么就突然想不出来了   脖子都快抽筋了

是不是表设计的有问题? 有没有更好的方式
mysql 表设计 查询

------解决方案--------------------
看不出结果数组与表中数据有什么对应关系
------解决方案--------------------
select sum(col1),sum(col2),sum(col3),sum(col4),sum(col5) from t1 where id in(1,2,3,4,5);

这样可以查询出五个col字段之和,不过你后面的更新没有规律,似乎只能写死的了。
------解决方案--------------------
感觉是你表设计有问题。这个是一个m2m关系,一般设计3个表。
我将你的大概理解为游戏中的武器附加属性:
表a:武器表
id name
 1  A
表b:属性表
id desc
 1 攻击附加n
 2 生命值恢复n

表c:武器属性映射表
id  a_id  b_id n
1    1     1   24
2    1     2   30

表c的数据就说明了武器A攻击附加24,生命值恢复30

个人拙见!不喜勿喷!