Mysql 使用子查询连接表

Mysql 使用子查询连接表,mysql,Mysql,我正在尝试连接两个表。两个表都有一个公共列名“campaign\u id”。我还有一些其他问题。在执行其他查询之后,我得到了结果 SELECT campaign_id, COUNT(fstaff_id) FROM timetable WHERE fstaff_id IN (SELECT fstaff_id FROM fstaff WHERE salarygrade>2) GROUP BY campaign_id HAVING COUNT(fstaff_id)>2; ; <p

我正在尝试连接两个表。两个表都有一个公共列名“campaign\u id”。我还有一些其他问题。在执行其他查询之后,我得到了结果

SELECT campaign_id,  COUNT(fstaff_id)
FROM timetable
WHERE fstaff_id IN (SELECT fstaff_id FROM fstaff WHERE salarygrade>2)
GROUP BY campaign_id
HAVING COUNT(fstaff_id)>2;
;
<pre>
SELECT timetable.campaign_id, campaign_name, COUNT(fstaff_id)
FROM timetable

JOIN campaign ON timetable.campaign_id=campaign.campaign_id

WHERE fstaff_id IN (SELECT fstaff_id FROM fstaff WHERE salarygrade>2)

GROUP BY timetable.campaign_id
HAVING COUNT(fstaff_id)>2;

;
使用上面的代码,我得到了这样的结果

campaign id | Campaign Count ---------------------------------- 1 | 10 2 | 15 我得到了错误代码1055

但如果我从select和group by中删除时间表并使用

然后我得到错误代码1052


请帮助我在活动表中的活动Id旁边添加活动名称。

按活动Id和活动名称分组-如果失败,请将示例数据和预期输出作为文本添加到问题中。按活动Id和活动名称分组有效
<pre>
SELECT timetable.campaign_id, campaign_name, COUNT(fstaff_id)
FROM timetable

JOIN campaign ON timetable.campaign_id=campaign.campaign_id

WHERE fstaff_id IN (SELECT fstaff_id FROM fstaff WHERE salarygrade>2)

GROUP BY timetable.campaign_id
HAVING COUNT(fstaff_id)>2;

;
SELECT timetable.campaign_id...
and 
GROUP BY (timetable.campaign_id)
SELECT campaign_id.....
GROUP BY (campaign_id)