繁体   English   中英

MySQL将两个查询组合在一起

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM