У меня есть SQL, но у меня возникла проблема с предложением WHERE, поскольку фильтрация записей с помощью операторов, кажется, не фильтрует записи, а выбирает записи, когда их не должно быть, мне нужноэтот LIKE / REGEXP для получения записей, а затем сужения их путем включения записей, которые true , в операторы =
.
WHERE rec.street_name REGEXP '[[:<:]]united[[:>:]]'
OR rec.city REGEXP '[[:<:]]united[[:>:]]'
OR rec.state REGEXP '[[:<:]]united[[:>:]]'
OR rec.country REGEXP '[[:<:]]united[[:>:]]'
OR rec.street_name LIKE 'united'
OR rec.city LIKE 'united'
OR rec.state LIKE 'united'
OR rec.country LIKE 'united'
AND rec.ad_type = 1
AND ( rec.num_rooms >= 15 AND rec.num_rooms IS NOT NULL )
AND rec.visible_listing = 1
Также это предложение WHERE не отфильтровывает записи:
WHERE rec.street_name REGEXP '[[:<:]]united[[:>:]]'
OR rec.city REGEXP '[[:<:]]united[[:>:]]'
OR rec.state REGEXP '[[:<:]]united[[:>:]]'
OR rec.country REGEXP '[[:<:]]united[[:>:]]'
OR rec.street_name LIKE 'united'
OR rec.city LIKE 'united'
OR rec.state LIKE 'united'
OR rec.country LIKE 'united'
AND ( rec.ad_type = 1 AND ( rec.num_rooms >= 15 AND rec.num_rooms IS NOT NULL) AND rec.visible_listing = 1 )
Даже изменение rec.num_rooms
/ rec.ad_type
на любое число все равно ничего не меняет.Почему это?