N個の条件が関連するテーブルと一致するレコードを選択します。対応するサブクエリにNOT EXISTが多すぎる行を返します
私は現在、私はNOT EXISTS
サブクエリを通じて「不明」の状態を表現しようとしない限り、正常に動作します。この
select v.id, name
from visitors v
left join trackings t on t.visitor_id = v.id
where
v.app_id = 'A0I'
and (
(NOT EXISTS (
SELECT v.id
FROM trackings not_t
WHERE v.id = not_t.visitor_id and field = 'admin'
))
or (t.field = 'app_name' and t.string_value ILIKE 'gitchecker')
or (t.field = 'users_created' and t.integer_value > 0)
)
group by v.id
having count(*) = 3 -- <number of conditions>
のように達成してみてください。このサブクエリはフィルタリングされていないように見えるので、行が多すぎます。
アイデアをお持ちですか?
括弧を 'WHERE'節で修正して、問題を修正します。 –
私は試しましたが、残念ながら差はありません – Tarlen
訪問者1人あたりの追跡数はapp_id = 'A0I'のどこにありますか? –