2012-02-16 34 views
0

我正在尋求顯示特定itemid的股票項目的移動的查詢的幫助。如何使用ORDER BY日期字段從多個表中提取mysql數據?

表1名:saleitems領域:爲itemid,saledate,數量

表2名稱:purchaseitems領域:爲itemid,而purchaseDate,數量

表3名稱:stocktransfers領域:爲itemid,trfdate,從,到,數量

我想從所有三個表中提取mysql數據並根據日期字段進行排序。任何幫助深表感謝。

預期的輸出應該如下enter image description here

+2

你可以給數據的例子和預期的結果 – ManseUK 2012-02-16 12:30:36

+1

輸入和輸出,請... – 2012-02-16 12:36:30

+0

@ManseUK添加的預期輸出細節 – mmdel 2012-02-17 08:22:22

回答

3
select * from saleitems,purchaseitems,stocktransfers 
where your condition order by saledate,purchasedate,trfdate 

您可以通過子句給出的選擇要根據病情或加入按你的邏輯,並通過

0

希望使用順序爲準字段使用順序這有助於

select * from salesitems a 
inner join purchaseitems b on a.itemid=b.itemid 
inner join stocktransfer c on a.item_id=c.item_id 
order by a.saledate,b.purchasedate,c.trfdate 
2

試試這個:

(select itemid, "SALES" as type, saledate as dt, qty from salesitems) 
union 
(select itemid, "PURCHASE" as type, purchasedate as dt, qty from purchaseitems) 
union 
(select itemid, "STOCKTRANSFER" as type, trfdate as dt, qty from stocktransferitems) 
order by dt; 

我希望我的問題得到了解決。

+0

編輯中,對應於問題編輯。 – 2012-02-17 09:14:25

0
SELECT a.itemid,a.saledate,a.qty,b.purchasedate,b.qty,c.trfdate,c.from,c.to,c.qty 
FROM saleitems a INNER JOIN purchaseitems b 
     ON a.itemid = b.itemid 
    INNER JOIN stocktransfers c 
     ON a.itemid = b.itemid 
WHERE a.itemid = 10 
ORDER BY a.saledate , b.purchasedate , c.trfdate 
相關問題