一个mysql查询的问题,在线等马上就能结贴
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一个mysql查询的问题,在线等马上就能结贴,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2761字,纯文字阅读大概需要4分钟。
内容图文
![一个mysql查询的问题,在线等马上就能结贴](/upload/InfoBanner/zyjiaocheng/196/63f38797fa8047e983b721ab48c0febf.jpg)
我有两个表,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
内容总结
以上是互联网集市为您收集整理的一个mysql查询的问题,在线等马上就能结贴全部内容,希望文章能够帮你解决一个mysql查询的问题,在线等马上就能结贴所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。