从左外连接的倍数中选择信息

时间:2014-10-15 22:16:36

标签: sql sql-server join

我认为我需要一点提示来完成使用左外连接构建的查询。

这是我的查询中的一个基本示例,列出了来自不同表的信息:

select t.Transaction_ID, t.Date_Transaction
from  Transactions t
LEFT OUTER JOIN Trans_Payments on Trans_Payments.Transaction_ID = t.Transaction_ID

此查询返回:

trans_id   trans_date
1             20/10/2010
1             20/10/2011
2             20/10/2012 
3             20/10/2014
4             20/2/2015
5             18/10/2010

这是一个很好的开始,因为这个查询列出了所有交易,甚至是那些没有payment_mode的交易(因为在我使用简单的连接之前列出交易的地方,而我得到的只是具有支付模式的交易)

好的,现在当我尝试添加另一个连接时:

select *
from  Transactions t
LEFT OUTER JOIN Trans_Payments on Trans_Payments.Transaction_ID = t.Transaction_ID
LEFT OUTER JOIN Payments on Trans_Payments.Payment_ID = Payments.Payment_ID

我得到:

query_result

如何在此查询结果中删除transaction_id和重复的payment_id?

2 个答案:

答案 0 :(得分:0)

将您想要的字段名称添加到select子句中,例如:

SELECT t.Transaction_ID, TransPayments.Payment_ID, Amount etc...

答案 1 :(得分:0)

不要使用Asterisk。定义所需的列。