[英]Query for merging two table data
I have two tables : 我有两个表:
stock in
Id---date---Itemname----stockInqty
1 --12/12/2014 ----testitem----12
2 --13/12/2014 ----testitem11----20
and stock out
stock out
Id--date--Itemname---stockOutqty
1 --12/12/2014 ----testitem----7
2 --14/12/2014 ----testitem11----15
I need a combined result of testitem
record between two date period in the order of 我需要两个日期之间的
testitem
记录的组合结果顺序为
date----itemname----stockInqty----stockOutqty
12/12/2014--testitem---12----7
13/12/2014--testitem---20----Nil
13/12/2014--testitem---NIL----15
You could use FULL JOIN
if it was not MySQL, so you should use LEFT/RIGHT JOIN
with UNION
: 如果不是MySQL,则可以使用
FULL JOIN
,因此应将LEFT/RIGHT JOIN
与UNION
:
SELECT t1.`date`
, t1.itemname
, t1.stockInqty AS stockInqty
, t2.stockInqty AS stockOutqty
FROM tbl1 t1 LEFT JOIN tbl2 t2 ON t1.`date` = t2.`date`
AND t1.itemname = t2.itemname
UNION
SELECT t2.`date`
, t2.itemname
, t1.stockInqty AS stockInqty
, t2.stockInqty AS stockOutqty
FROM tbl1 t1 RIGHT JOIN tbl2 t2 ON t1.`date` = t2.`date`
AND t1.itemname = t2.itemname
Try this: 尝试这个:
SELECT *
FROM StockA
LEFT OUTER JOIN StockB
ON StockA.dataItem = StockB.dataItem
UNION
SELECT *
FROM StockB
LEFT OUTER JOIN StockA
ON StockA.dataItem = StockB.dataItem
You must use a FULL OUTER JOIN
operation 您必须使用
FULL OUTER JOIN
操作
In MySql FULL OUTER JOIN
can emulate with two LEFT OUTER JOIN
in UNION
在MySql中,
FULL OUTER JOIN
可以在UNION
模拟两个LEFT OUTER JOIN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.