我有一個產品表,它有許多變種,變種表有一個價格列與hstore數據類型。在Postgresql hstore中查詢
我有兩個查詢
查詢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)
雖然第一查詢失敗的錯誤消息ERROR: invalid input syntax for integer: "not a valid number"
所述第二查詢工作完全正常。
聽起來好像你在'價格 - >'sg''字段中有一些不是數字的東西,但也只有一行或多行沒有被該連接覆蓋。這只是一個猜測,但不知道更多關於你的數據。 – jmelesky