0

私はテーブルscraped_listingsとテーブルを持っていますscraped_categories。列scraped_listings.categoriesは、 の行の ID を含む integer[] 配列scraped_categoriesです。

どういうわけか(おそらく私が覚えていない間違いによるものです)、いくつかのscraped_listings行には、カテゴリ行に属さないカテゴリのIDがあります(これらの行は削除されていると思います)。

次のクエリがあります。これにより、影響を受ける行が得られます。

SELECT * FROM scraped_listings a
JOIN (
  SELECT array_agg(id) AS ids
  FROM scraped_categories
  ) b ON NOT a.categories <@ b.ids;

今やりたいことはcategories、このクエリで見つかった行から無効な ID を削除することです。配列内のアイテムが有効な Scraped_category ID でない場合は、削除する必要があります。

どうすればこれを行うことができますか?

4

1 に答える 1