我记得在DB课程中就像很久以前一样,但是无法回想起它,似乎无法找到正确的单词。
我试图基本上转换生成foreach的查询,然后根据第一个查询中的信息运行另一个查询。更清楚的是,我有两个表成员和条目。为了我们的目的,成员有两列member_id,member_name,条目有entry_id,channel_id,author_id。 Author_id是member_id的FK。
我希望每个作者都有一个条目计数,并在一个SQL语句中完成。所以我首先需要一个成员id的列表然后获取每个成员id并查询entries表以获取author_id = member_id的条目数。
以编程方式它看起来像这样(不是完整的代码obvi):
$mems = select member_id from members_table;
foreach($mems as $cur_mem) {
$entry_count = select count(*) from entries_table where author_id=$cur_mem[member_id];
echo $entry_count;
}
这适用于MySQL并使用名为ExpressionEngine的CMS,这是解决方案头痛的原因。很难描述这个问题,所以我可以澄清任何问题。
谢谢!
答案 0 :(得分:1)
尝试此查询:
SELECT member_id,
COUNT(author_id )
FROM members_table m
INNER JOIN entries_table
ON author_id = member_id
GROUP BY member_id