我有一个产品表,它有许多变种,变种表有一个价格列与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