在同一列中具有多个值的SQL外键



我正在学习SQL,并试图找到解决以下问题的逻辑:

表A有2列- HL_ACCT, CUST

表B有2列- CUST, SAV_ACCT。

CUST是外键。

想象下面的场景:HL_ACCT-1有2个CUST ->CUST_1和CUST_2

我需要从具有的表B中获取sav_acct与之关联的CUST_1和CUST_2,即具有多个值的外键。

编辑:考虑表A是包含Home Loan Account &并具有一对多关系。("HL"可以同时以"Master holder"one_answers"Master holder"的名义使用。和"Co-holder"

表B是多对多关系下的客户和储蓄账户详细信息。"主人Holder"可同时持有多个储蓄账户。"Co-holder"也可以持有多个储蓄账户。"主人Holder","Co-Holder"可同时持有多个联名帐户

在我的场景中,我需要为Home Loan帐户获取所有联合帐户。

可以使用聚合和having。如果我正确地遵循数据模型:

select b.link_acct
from a join
b
on a.cust = b.cust
where a.cust in ('cust_1', 'cust_2')
group by b.link_acct
having count(distinct a.cust) = 2;

最新更新