[英]select rows with non distinct values in column 1 scoped to column 2
所以我有一個人表和bank_accounts表:
People
id | name
1 John
2 Mark
3 Mary
BankAccount
id | person_id | currency
1 1 'USD'
2 1 'EUR'
3 2 'USD'
4 2 'USD'
5 3 'EUR'
如果該所有者只有最多一種貨幣的賬戶,我想找回所有與其所有者的賬戶。 我不想找回由用戶擁有的任何帳戶,該用戶的另一個帳戶使用另一種貨幣。 erm:P
所以我想找回來的桌子是這樣的:
account_id | person_id | currency
3 2(Mark) 'USD'
4 2(Mark) 'USD'
5 3(Mary) 'EUR'
希望這是可以理解的。 當然,這是簡化的示例。 我將在具有大量數據的更大表上使用此功能。 因此,一些效率也將很好。
非常感謝您的時間和幫助!
select *
from bankAccount
where person_id in
(
select person_id
from bankAccount
group by person_id
having count(distinct currency) = 1
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.