У меня есть две таблицы «клиентов» и «Кампании»:MySQL условие соединяемых данных
customers
-------------
id | int
-------------
name | varchar
campaigns
----------------------
id | int
----------------------
customers_id | int
----------------------
name | varchar
Клиент может иметь несколько кампаний. Связь между двумя таблицами осуществляется через campaigns.customers_id = customers.id
. Теперь я хочу, чтобы все клиенты, которые получили кампанию с именем «A» и назвали «B».
Я попробовал JOIN
с IN
заявление, но он возвращает все клиенты, которые получили какой-либо кампании "A" или "B":
SELECT
customers.name
FROM
customers
JOIN
campaigns
ON
customers.id=campaigns.customers_id
WHERE
campaigns.name IN('A','B')
Спасибо большое!
Вы присоединились на неправильных столбцах. Также ... Группа ... с счетчиком (*) = n - где n - нет. элементов в IN() (предполагается, что (клиент, кампания) UNIQUE – Strawberry
Strawberry: Спасибо, что указали имена столбцов. Вы правы, отредактировал мой вопрос. – softcr