使用子查询联接表

时间:2019-09-16 10:16:56

标签: mysql

我正在尝试联接两个表,两个表都有一个公共列名“ campaign_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;
;

使用上述代码,我得到了这样的结果。

 campaign id | Campaign Count 
----------------------------------
 1           |      10 
 2           |      15

现在我也想要这样的广告系列名称

 campaign id | CampaignName | Campaign Count 
--------------------------------------------------
 1           |friday sale   |      10 
2           |XYZ offer  |      15 

我有一个名为“ campaign”的表,该表具有“ campaign_id”和“ campaign_name”列 我正在尝试此代码,但无法正常工作

<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)

我收到错误代码1055

但是如果我从选择和分组中删除时间表并使用

SELECT campaign_id.....
GROUP BY (campaign_id)

然后我得到错误代码1052

请帮助我在广告系列表格中的“广告系列ID”旁边添加广告系列名称。

0 个答案:

没有答案