[英]MySQL combining two queries together
这是我的第一个问题,我仍在学习Mysql,所以我遇到的问题是将两个查询组合在一起
第一个查询:
SELECT
stocks.Stock_Trans_No
stocks.Stock_Date_Time,
stocks.Stock_Trans_Type,
stocks.Stock_Trans_Ref_No,
stocks.Stock_Trans_Item_Code,
stocks.Stock_Trans_Qty,
stocks.Item_Description
FROM stocks
WHERE
DATE_FORMAT( stocks.Stock_Date_Time, '%Y%m%d') BETWEEN DATE_FORMAT('2015-09-01', '%Y%m%d') AND DATE_FORMAT('2015-11-01', '%Y%m%d') GROUP BY stocks.`Stock_Trans_Item_Code`
第二查询:
SELECT
SUM( stocks.Stock_Trans_Qty)
FROM stocks
WHERE
DATE_FORMAT( stocks.Stock_Date_Time, '%Y%m%d') > '2015-09-01'
GROUP BY stocks.`Stock_Trans_Item_Code`
我如何将它们融合在一起。 我仍在学习,因此请尽量简单一点! 谢谢
尝试这个..
SELECT
SUM( IF(DATE_FORMAT( stocks.Stock_Date_Time, '%Y%m%d') > '2015-09-01',stocks.Stock_Trans_Qty,0)) AS Stock_Trans_Qty_Sum
stocks.Stock_Trans_No
stocks.Stock_Date_Time,
stocks.Stock_Trans_Type,
stocks.Stock_Trans_Ref_No,
stocks.Stock_Trans_Item_Code,
stocks.Stock_Trans_Qty,
stocks.Item_Description
FROM stocks
WHERE
DATE_FORMAT( stocks.Stock_Date_Time, '%Y%m%d') BETWEEN DATE_FORMAT('2015-09-01', '%Y%m%d') AND DATE_FORMAT('2015-11-01', '%Y%m%d') GROUP BY stocks.`Stock_Trans_Item_Code`
试试这个
SELECT s1.*,
(SELECT SUM(s2.Stock_Trans_Qty)
FROM stocks as s2
WHERE
s2.Stock_Trans_Item_Code = s1.Stock_Trans_Item_Code AND
DATE_FORMAT(s2.Stock_Date_Time, '%Y%m%d') > '2015-09-01'
) Total
FROM stocks as s1
WHERE
DATE_FORMAT(s1.Stock_Date_Time, '%Y%m%d') BETWEEN DATE_FORMAT('2015-09-01', '%Y%m%d') AND DATE_FORMAT('2016-11-01', '%Y%m%d')
GROUP BY s1.`Stock_Trans_Item_Code`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.