Oracle 11g
PERSON表包含卖家和买家ID。如何将买方和卖方纳入单一结果集?我可以得到结果列出买方或卖方,但不能同时列出。
Person
=================
PersonID First Last
1 Joe Camel
2 Ronald McFly
3 Barbara Wawa
SalesDetail
=========================
TransID Amount SellerID CustomerID
98 500 1 2
99 700 3 1
Desired Result
===========================================
SellerID SellerLast BuyerID BuyerLast Amount
1 Camel 2 McFly 500
3 Wawa 1 Camel 700
答案 0 :(得分:1)
只需加入Person
表两次
SELECT sd.sellerID,
seller.last sellerLast,
sd.buyerID,
buyer.last buyerLast,
sd.amount
FROM salesDetail sd
JOIN person seller ON (sd.sellerID = seller.personID)
JOIN person buyer ON (sd.buyerID = buyer.personID)
如果买方或卖方可能未知,您可能需要外部联接。
答案 1 :(得分:1)
试试这个
select seller.sellerid,
seller.last,
buyer.buyerid,
buyer.last,
amount
from
person buyer
inner join salesdetail on buyer.personid = salesdetail.cutomerid
inner join person seller on salesdetail.sellerid = seller.personid
目前无法测试自己