我正在学习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;