MySQLクエリで部分一致または完全一致を見つける必要があります。私は 'OR'を使用して複数のテーブルでクエリを実行しており、すべての条件が満たされているかどうかを知る必要があります。複数の "OR"でMySQLクエリの部分一致を見つける
これを行う最も簡単な方法は、「部分的」という新しい列を作成することです(0または1のいずれかになります)。
ここは私のクエリです:
SELECT
id, confirmed, name, addressLine1, addressLine2, addressCity, addressPostcode,
addressLat, addressLon,
(6371 * acos(cos(radians('53.649779'))
* cos(radians(addressLat))
* cos(radians(addressLon) - radians('-1.6026266'))
+ sin(radians('53.649779')) * sin(radians(addressLat)))
) distance
FROM TABLE_NAME
WHERE active = '1'
AND deleted = '0'
AND
(
id < 0
OR
id IN
(
SELECT establishmentID
FROM appEstablishmentDrinks
WHERE active = '1'
AND deleted = '0'
AND manufacturerDrinkID IN (101)
GROUP BY establishmentID
HAVING count(distinct manufacturerDrinkID) = 1
)
OR
id IN
(
SELECT establishmentID
FROM appEstablishmentFacilities
WHERE active = '1'
AND deleted = '0'
AND facilityID IN (37)
)
)
HAVING distance < '15'
あなたのような文で取得したデータを延長することができる:IF(sqlCondition1、1、0)partial1 AS、IF(sqlCondition2、1、0)partial2 –