2017-07-30 82 views
0

我有兩個表第一商店ID到公司 公司的名稱(ID VARCHAR2(4),公司名稱VARCHAR2(20))打印名稱存儲在其他表

1001 - Company1 
1002 - Company2 
1003 - Company3 
1004 - Company4 

另一個表SellerBuyer其中存儲有公司正在向哪個公司銷售 ,並且每個賣家或買家都可以爲空 例如

(1001,null) 1001 has no buyer 
(1002,1003) 1002 is selling to 1003 
(1002,1004) 1002 is selling to 1004 
(1003,1004) 1003 is selling to 1004 
(null,1004) 1004 is also buying from unknown seller. 

請幫我SQL這將按照存儲在表公司,SellerBuyer數據公司的打印名稱如下

(Company1,null) 
(Company2,Company3) 
(Company2,Company4) 
(Company3,Company4) 
(null,Company4) 

回答

0

假設你的表是:

Company (ID, CompanyName) 
SellerBuyer(IDSeler,IDBuyer); 

祕密將公司表格視爲兩個單獨的表格,銷售者爲賣家,買家爲買家,

我從SellerBuyer開始,使用left join包含空值。

此外,我將字幕SellerName和BuyerName添加到列。

所以,你的SQL應該是這樣的:

select seller.companyName as SellerName, buyer.CompanyName as BuyerName 
from 
    SellerBuyer 
    left join Company as seller on SellerBuyer.IDSeler=seller.ID 
    left join Company as buyer on SellerBuyer.IDBuyer=buyer.ID 
+0

SHR感謝您的回答。 – user1445322