0

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

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

我需要一个查询来计算所有的优点和缺点,然后将每个唯一的给定结果复制user_idsmf_members适当的id_memberuser_idsmf 中karma_good的字段)和(所有优点)和karma_bad(所有缺点)下的表中。

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

4

2 回答 2

1
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;
于 2013-07-04T10:12:39.243 回答
0
How about something like this:

    SELECT DISTINCT user_id, (SELECT COUNT(1) as points
    FROM phpbb_karma
    WHERE action = '+' and k.user_id = user_id), 
    (SELECT COUNT(1) as points
    FROM phpbb_karma
    WHERE action = '-' and k.user_id = user_id)
FROM
    phpbb_karma k

不是最优化的,但考虑到这是一次性操作,那么它应该没什么大不了的。

于 2013-07-04T10:12:29.923 回答