「IN」を使用して複数のカテゴリを検索する次の複雑な SQL ステートメントがあります。
SELECT MATCH(placename,fullloc) AGAINST ('' IN BOOLEAN MODE) as score, places.PlaceName, places.fullloc, places.PlaceID, places.ImageThumb, places.contributorid, places.verified, places.verified_by, places.verified_date, places.visibility
FROM places
INNER JOIN places_cats ON places.PlaceID = places_cats.PlaceID
WHERE STATUS IN (1,0)
AND places_cats.CATID in (129,75,104)
AND (visibility = 1 OR (visibility in (2,3)
AND places.contributorid = '999999999'))
GROUP BY PlaceID
ORDER BY score DESC
これを、基本的に複数の「OR」ステートメントにする「IN」から、複数の「AND」ステートメントを提供するものに切り替えることができるようにしたいと考えています。これを可能にする SIMPLE SQL コマンドはありますか、それとも実際に複数の「AND」ステートメントを作成する必要がありますか?
CATID リストは非常に長くなる可能性があります。実際、猫のリストが 35 項目になることもあります。