2015-10-17 60 views
0
table 'sales' 
id refid invoice itemid price 
1 001 1501 ss01 12000 

table 'purchase' 
id itemid price 
1 ss01 10200 

table 'reference' 
id refid refname 
1 001 bedul 

我有這樣的三代表在我的SQL數據庫,所以如何讓他們變成一個表像下面使用MySQL查詢:mysql - 數據收集多表?

table 

id refid refname invoice itemid sellprice buyprice profit 
1 001 bedul 1501 ss01 12000  10200 1800 

回答

0

你的結果表是不是細節不夠好,但你可以試試這個:

select sales.id, sales.refid, reference.refname, sales.invoice, 
sales.itemid, sales.price as sellprice, purchase.price as buyprice, 
sales.price - purchase.price as profit 
from sales 
left outer join reference on reference.refid = sales.refid 
left outer join purchase on purchase.itemid = sales.itemid 
+0

^h如果我試圖在'refname'搜索結果上做出相同的結果基礎,我應該怎麼做? –

+0

您可以添加'where'條款..... – Viandry

0

以下已經過測試,證實爲有效的...

SELECT sales.id, 
     sales.refid, 
     reference.refname, 
     sales.invoice, 
     sales.itemid, 
     sales.price AS sellprice, 
     purchase.price AS buyprice, 
     sales.price - purchase.price AS profit 
FROM sales, purchase, reference 
WHERE sales.refid = reference.refid AND 
     sales.itemid = purchase.itemid;