2011-10-21 57 views
1

我想寫一個查詢來顯示到數據控件。SQL查詢從多個表到網格

我有一些問題試圖得到我需要的查詢。

我想要的網格顯示:

product name  dealer 1  dealer 2  dealer 3  dealer 4, etc <br/> 
product a  10    12   18   N/A <br/> 
product b  32    N/A   7   4 <br/> 
product c  35    36   21   18 <br/> 

數據庫表:

products 
id, name 

dealers 
id, name 

products_to_dealers_xref 
product_id, dealer_id, qty 

我無法弄清楚如何得到查詢佈局是這樣的。 我目前正在嘗試UNION語句,但仍無法獲取它。

任何想法或想法?

謝謝!

回答

2

您需要使用PIVOT Operator

select Products.Name,'dealer 1','dealer 2','dealer 3','dealer 4' 
from 
(select Products.Name,qty from products inner join products_to_dealers_xref pd on Products.id = pd.product_id inner join dealers d on Products.Id = d.id) as p 
Pivot 
(sum(qty) for products.name in (['dealer 1'],['dealer 2'],['dealer 3'],['dealer 4'])) as pvt 

P.S。:沒有測試轉動查詢的結果。

+0

不得不改變一些東西,但這個數據透視工作。謝謝。 – kylemac