Так что у меня этот запрос:IN и NOT IN статьи не применяются
SELECT m.id, (
SELECT GROUP_CONCAT(
DISTINCT tag_id
ORDER BY tag_id
SEPARATOR '-'
) FROM tagging
WHERE mng_id = m.id
ORDER BY tag_id DESC
) as tags
FROM product m
INNER JOIN tagging tg ON (m.id = tg.mng_id)
WHERE 1
AND tg.tag_id IN (34,20) AND tg.tag_id NOT IN (42)
AND (nme LIKE 'tomo%' OR alt_nme LIKE 'tomo%')
GROUP BY m.id
Этот запрос должен возвращать записи с тегом # 34, 20 и не имеют тега # 42, название пластинки должен начинаться с ' Томо.
Но по какой-то причине он не удаляет продукт с тегом # 42 из результатов. Может ли кто-нибудь помочь определить проблему с этим запросом?
Я создаю страницу поиска, и tag_id не фиксирован. Пользователю будет предложено ввести список tag_id, чтобы начать поиск, так что tag_id может быть 1 или больше. Кроме того, я хочу включить поиск имени – user3751852
@ user3751852. , , Итак, создайте соответствующий запрос в приложении. Это всего лишь вопрос о том, чтобы скомпоновать предложение «иметь». –
Да. Я просто понимаю, просто добавив replace = с IN, я думаю. – user3751852