一个mysql查询的问题,在线等马上就能结贴

php中文网
发布: 2016-06-23 14:19:14
原创
1216人浏览过

mysql 表设计 查询

脑子糊涂了绕不过来这个弯  求助

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

t1



t2表



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

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

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

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

回复讨论(解决方案)

看不出结果数组与表中数据有什么对应关系

抱歉 结果数组我随手写的  没有准确计算数值 

我重新写一下

array(
    "攻击时附加$n点伤害"=>24,
    "生命值恢复增加每秒$n点"=>48,
    "暴击伤害增加$n"=>27,
    "装备等级减少$n"=>6,
    "金币掉落增加$n"=>100
)

当然,如果能查出
array(
   0=> "攻击时附加24点伤害",
   0=> "生命值恢复增加每秒48点",
   0=> "暴击伤害增加27",
   0=> "装备等级减少6",
   0=> "金币掉落增加100"
)
不过貌似不太可能... 这样的设计或许有问题    

array(
   0=> "攻击时附加24点伤害",
   1=> "生命值恢复增加每秒48点",
   2=> "暴击伤害增加27",
   3=> "装备等级减少6",
   4=> "金币掉落增加100"
)

上边写的都是0是有误的..

  48应为43..... 瀑布汗..

select sum(col1),sum(col2),sum(col3),sum(col4),sum(col5) from t1 where id in(1,2,3,4,5);

这样可以查询出五个col字段之和,不过你后面的更新没有规律,似乎只能写死的了。

select sum(col1),sum(col2),sum(col3),sum(col4),sum(col5) from t1 where id in(1,2,3,4,5);

这样可以查询出五个col字段之和,不过你后面的更新没有规律,似乎只能写死的了。

这个不失为一个办法,虽然col x的数量可能有几十个但是毕竟变化不多

但是没有语句可以直接"查出每一项的合"吗?

那个语句就是查询出每一项的和啊

感觉是你表设计有问题。这个是一个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

个人拙见!不喜勿喷!

感觉是你表设计有问题。这个是一个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

个人拙见!不喜勿喷!

是游戏中的属性没错   你这个提法不错, 我把每件装备的属性做到一条记录里,可能是为了更直观?我也说不清楚...  我考虑下吧三个表的形式...

那个语句就是查询出每一项的和啊

这个方法不是说不行 但是如果有100个字段还要这么写感觉也不是很合适....之前我以为有一条命令什么的可以直接自动查找所有字段的和.

你的结果是“交叉表”
你需要从 t2 中组装查询指令
可以用存储过程,也可以用php

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号