Problém je s prioritou OR
/AND
podmínky. AND
má vyšší prioritu než OR
, proto nejprve vyhodnotí všechny podmínky spojené pomocí AND
(tags-merch, newsID-2134 a status-1) a poté vyhodnotí oba tags-gda a tags-contests).
Zkuste přidat hranaté závorky:
SELECT *
FROM `posts`
WHERE (`tags` LIKE '%gda%'
OR `tags` LIKE '%contests%'
OR `tags` LIKE '%merch%')
AND `newsID` != '2134'
AND `status` > '1'
ORDER BY `postDate` DESC
LIMIT 5