кампании:
id name cap
1 Campaign1 2
2 Campaign2 1
3 Campaign3 1
служили:
id id_campaign ip
1 1 127.0.0.1
2 1 127.0.0.1
3 2 127.0.0.1
Результат запроса должен отображаться:
campaigns_id campaigns_name cap count
1 Campaign1 2 2
2 Campaign2 1 1
3 Campaign3 1 0
Я использую этот запрос:
SELECT served.id_campaign,
campaigns.name,
campaigns.cap,
COUNT( served.id ) AS count
FROM campaigns
LEFT JOIN served ON campaigns.id = served.id_campaign
WHERE served.ip = '127.0.0.1'
GROUP BY served.id_campaign
Мой запрос отображает эти результаты (плохо, не показывается campaigns_id.3):
campaigns_id campaigns_name cap count
1 Campaign1 2 2
2 Campaign2 1 1
Мне кажется, что я ошибаюсь, если хочу включить значения, которые не выбираются оператором "WHERE", поскольку в "serve" нет записей, соответствующих оператору WHERE для campaigns.id = '3'