次のクエリを作成するベスト プラクティスを教えてください。
3 つのフィールドを持つテーブルがあるとしますid, owner_id, data
。そして、多くの人が所有するデータを返す SELECT クエリを実行する必要があります。
SELECT data FROM posts WHERE owner_id = x OR owner_id = y
クエリを実行する必要がある場合、所有者 ID が 200 になる可能性があるため、OR は使用できません。
次のクエリを作成するベスト プラクティスを教えてください。
3 つのフィールドを持つテーブルがあるとしますid, owner_id, data
。そして、多くの人が所有するデータを返す SELECT クエリを実行する必要があります。
SELECT data FROM posts WHERE owner_id = x OR owner_id = y
クエリを実行する必要がある場合、所有者 ID が 200 になる可能性があるため、OR は使用できません。
で試しましたか
SELECT data FROM posts WHERE owner_id IN (x,y)
INステートメントは配列から生成できます:)
SELECT data
FROM posts
WHERE owner_id IN (x, y)
GROUP BY data
HAVING COUNT(*) = 2 // number of owners
DISTINCT
data
がすべての で一意でない場合は、キーワードが必要ですowner_id
。
HAVING COUNT(DISTINCT owner_id) = 2