我有3个表,一个名为TRANSACTIONS的表具有from_account_id,另一个名为PAYMENTS的表具有to_account_id,第三个名为ACCOUNTS的表具有所有数据(来自帐号,from_account_id,to_account_id)以及account_owner_code是帐户所有者。帐户所有者在ACCOUNTS表中可能有多个帐号。
现在我希望找到不同所有者帐户之间的交易,所以确切地说,我想查找从帐户所有者A.acount_1234到accountOwnerB.acount56789的交易,而不是同一所有者的帐户之间的交易
问题是我不确定如何比较两者,因为我正在使用子选择。 有人可以帮忙吗?
来自评论的信息转录:
答案 0 :(得分:0)
假设:
“交易”表中的ID值与每个“付款”表中的ID值相匹配。否则,我不确定你将如何保证你正在处理同一事件的双方
每个交易记录只有一个付款记录
所有交易和付款都有匹配的帐户记录。
条件:我讨厌子选择,如果我可以杀死他们。
Select ~whatever
From Transaction_Table t
Inner Join Accounts_Table at on t.From_Account_ID=at.Account_ID
Inner Join Payments_Table p on t.ID=p.ID
Inner Join Accounts_Table ap on p.To_Account_ID=ap.Account_ID
Where at.Owner_Code != ap.Owner_Code