Как я могу извлечь весь идентификатор таблицы 1, если установлено одно или несколько значений?
По примеру:
Таблица 1 называется «продукт», а таблица 2 - «аллерген».
Каждая таблица имеет отношение многие ко многим (многие продукты могут иметь много аллергенов).
Я делаю следующий запрос:
SELECT
p.id,
p.name,
group_concat(a.allergen_id) as allergens
FROM local_product p
LEFT JOIN local_product_allergen a ON (a.`local_product_id` = p.id AND a.allergen_id NOT IN (1,2))
WHERE
p.name like 'milk%'
LIMIT 0,10
Возвращаемый результат:
ID | Name | Allergens
1 | Milk | 3
2 | Soy Milk | 4
Если я уберу условие «a.allergen_id NOT IN (1,2)», он вернет:
1 | Milk | 1,2,3
2 | Soy Milk | 4
Я хочу вывести результат «milk» @ID =1, если одно или несколько значений совпадают со строкой аллергенов, чтобы получить этот результат:
2 | Soy Milk | 4
Благодаря кому-то, кто может мне помочь, очевидно, что это упрощенный запрос, потому что исходный запрос намного длиннее и не имеет отношения к запросупомощь.
Николас