mysql - SQL统计变量并写入另一个表

标签 mysql sql database

我需要将数据从 phpbb 中的 karma mod 传输到 smf 中的 karma。

Phpbb 有一个表 phpbb_karma这基本上是一个业力日志。我们需要关注的重要领域是user_id (获得业力的用户)和 karma_action (正业或负业,显示为+或-)。

我需要一个查询来计算所有优点和缺点,然后复制每个唯一的给定结果 user_id进入smf_members适当的表id_member ( user_id smf 中的字段)和 karma_good (所有优点)和karma_bad (所有缺点)。

我认为这是可以做到的,但我不是 SQL 专家。

最佳答案

update smf_members a, 
    (select user_id,
    sum(if(karma_action='+',1,0)) karma_good,
    sum(if(karma_action='-',1,0)) karma_bad
    from phpbb_karma
    group by user_id) b
set a.karma_good=b.karma_good, a.karma_bad = b.karma_bad
where a.id_member = b.user_id;

关于mysql - SQL统计变量并写入另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17467429/

相关文章:

java - Spring ScriptUtils : with MySql causes tests to freeze forever

php - SQLSTATE [42000]:语法错误或访问冲突:1064

php - 根本不显示消息?

mysql - 查询将具有两个字段的表连接到一个包含两个字段中的项目的列表中

mysql - SQL插入不存在的地方以防止主键问题

mysql - 数据库设计 : How should I store user's news preferences in MySQL database?

php - mysql和重复条目报告

node.js - NodeJS + MongoDB : find() where { 'value' : < 5 AND >1} - how?

php - 内部连接数据库

php - mysqli_fetch_object 不返回某些表中字符串中的重音符号