我有一个名为ACCOUNT_REFunds的表:
id | referrals(type json) | accountID
___________________________
123 | [1,2] | 001
124 | [3] | 001
125 | [4] | 001
126 | [5,6,7] | 001
127 | [4] | 001
在这个表中,我得到了一些帐户,可以根据他们的推荐获得多次退款,(推荐用户的ID存储在推荐列中)如果他们将一项服务推荐给某人,他们将得到退款.这是一个非常简单的逻辑,然而,我的主要问题是,我需要过滤出该帐户是否已经为推荐用户退款.例如,如果有ID为4的用户退款的记录,我不想创建另一笔退款.因此,我的目标是按相同的帐户ID Select 所有记录,将引用列合并为一个数组,并对其进行筛选.因此,最终结果将如下所示: [1,2,3,4,5,6,7]得到这个值后,我只需在该数组中查找该用户ID.
select af.id, af.referrals, af.accountID
from ns_accounts_refunds af
inner join ns_accounts a on a.id = 001
join ns_accounts_refunds af
where af.accountID = a.id
预期结果:
id | referrals(type json) | accountID
___________________________
123 | [1,2] | 001
124 | [3] | 001
125 | [4] | 001
126 | [5,6,7] | 001
将不会 Select 引用列数组中共享相同用户ID的最后一行
提前谢谢!