私は、「データ列のJSON内のfoo_idがバーテーブルにないすべてのレコードを取得する」というクエリを作成しようとしています。私が試した:Postgres: "NOT IN"とJSON " - >>"を結合するには?
select * from json_table where (data->>'foo_id') not in (
select bar.id from bar where bar.id is not null
);
はしかし、私はエラーを取得:?
ERROR: operator does not exist: text = integer
ところで、おそらく、使い方は 'EXISTS'は、より効率的になり、NOT:'存在しないところjson_table SELECT * FROM(bar.idがnullでなく、(データどこバーから選択* - >> 'foo_id') :: int = bar.id); ''(bar.idがnullでないという条件もあります。) – Abelisto
おかげで、ありがとう。 – machineghost