私は多くのバリアントを持つ製品テーブルを持っています。バリアントテーブルはhstoreデータ型の価格列を持っています。PostgreSQL hstoreのクエリ
最初のクエリは、2番目のクエリは完全に正常に動作し、エラーメッセージERROR: invalid input syntax for integer: "not a valid number"
で失敗している間、私は2つのクエリ
クエリ1
SELECT variants.* FROM variants WHERE (CAST(variants.price -> 'sg' AS INT) > 1000)
クエリ2
SELECT products.* FROM products INNER JOIN variants ON variants.checkoutable_id = products.id AND variants.checkoutable_type = 'Product' WHERE (CAST(variants.price -> 'sg' AS INT) > 1000)
を持っています。
あなたの 'price - > 'sg''フィールドに数字ではなく、その結合でカバーされていない1つ以上の行にもあるものがあるようです。しかし、あなたのデータについてもっと知ることなく、それはちょうど推測です。 – jmelesky