根据包含在另一个json字段中的字段值选择记录

时间:2019-07-18 09:58:56

标签: ruby-on-rails postgresql

我需要选择所有记录,其中json字段值基于此记录的另一个字段 我有记录的字段:

credentials: {stripe: {api_key: xxx, connected: true, enabled: true}, amazon_pay: {api_key: xxx, connected: true, enabled: true}}
payment_method: 'stripe'

因此,我需要基于仅在启用了该付款方式的情况下才记录的pay_method的方式从凭据中进行选择== true,该如何使用SQL呢?

更新: 我认为一定是这样的:

SELECT COUNT(*)
FROM accounts as main_query
INNER JOIN shops ON shops.id = main_query.shop_id
WHERE shops.status = 2
AND (((credentials->(SELECT sub_query.card_method FROM accounts as sub_query WHERE main_query.id = sub_query.id))::json->>'enabled')::boolean IS TRUE)

0 个答案:

没有答案
相关问题