0

我有这个查询,它是由 stackoverflow 的非常有用的成员编写的

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;

它是为以下目的而编写的:我需要将数据从 phpbb 中的 karma mod 传输到 smf 中的 karma。

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

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

现在我需要对其进行一些修改 - 将数据从 phpbb_karma 传输到 mybb_reputation

我需要转移以下字段:

user_id -> uid
post_id -> pid
poster_id -> adduid
karma_action -> reputation (if its +, then 1, if its -, then -1)
karma_time -> dateline
comment_text -> comments

提前致谢

4

1 回答 1

0

你的意思是像这样的插入:

insert into mybb_reputation (uid, pid, adduid, reputation, dateline, comments)
select user_id as uid, post_id as pid, poster_id as adduid, case when karma_action= '+' then 1 when karma_reputation='-' then -1 end as reputation, karma_time as dateline, comment_text as comments from phpbb_karma
于 2013-07-04T17:46:32.077 回答