mysql按日期和时间获取数量

时间:2015-11-10 11:48:56

标签: mysql

有人能指出我正确的方向,我无法让它像我想的那样工作。

这是我的表

id_req  id_item  id_user  startDate   startTime  endDate     endTime    quant  created     
------  -------  -------  ----------  ---------  ----------  --------  ------  ------------
 9       10        1  2015-11-19  10:00:00   2015-11-19  11:50:00      23  2015-11-06  
10       10        1  2015-11-19  10:00:00   2015-11-19  11:50:00      23  2015-11-06  

正如您所看到的,我在23(数量)的相同日期和时间订购了相同的ID项目。假设我只有40,所以我不能得到这个插入,因为我没有得到它,所以我想要的是在插入之前检查当时可用的数量

我试过这个但错误

    SELECT req.`quant`, SUM(req.`quant`) AS grand_total, 
    FROM requisicoes req
        JOIN item i ON i.`quantidade` = req.`quant` 
    WHERE req.`id_item` = 9 
      AND req.`startDate` = "2015-11-19" AND req.`endDate` = "2015-11-19" 
    GROUP BY req.`id_item`

更新

谢谢,我差不多了,正确的查询是:

    SELECT SUM(i.`quantidade`-r.`quant`) AS total 
    FROM `requisicoes` AS r 
        INNER JOIN `item` AS i ON (r.`id_item` = i.`id_itens`) 
    WHERE r.`startDate` = "2015-11-20" AND r.`endDate` = "2015-11-20" 
      AND r.`startTime` = "12:00:00" AND r.`endTime` = "12:50:00"

但是,如果我有贷款,它会给出正确的价值,当我没有贷款时,它会给我零而不是正确的数量

更新2

表项目

id_itens  nome                                                       descricao                          data        quantidade  id_tipo  id_estado  
--------  ---------------------------------------------------------  ---------------------------------  ----------  ----------  -------  -----------
   4  Ser Global -                                               Módulos 5, 6                       2015-09-30          45        1            0
   7  Ser Global - Área de Integração - Ensino Profissional      Módulos 5, 6 (12.º ano / ano 3)    2015-09-25          30        1            1
   8  Ser Global - Área de Integração - Ensino Profissional      Módulos 5, 6 (12.º ano / ano 3)    2015-09-25          30        1            1
  10  Ser Global - Área de Integração - Ensino Profissional      Módulos 5, 6 (12.º ano / ano 3)    2015-09-25          30        1            1
  11  Ser Global - Área de Integração - Ensino Profissional      Módulos 5, 6 (12.º ano / ano 3)    2015-09-25          30        1            1
  12  Ser Global - Área de Integração - Ensino Profissional      Módulos 5, 6 (12.º ano / ano 3)    2015-09-25          30        1            1
  13  Portatil                                                   Asus Zenbook                       2015-09-25           3        2            1
  14  Portatil                                                   Asus UX31                          2015-09-25           3        2            0

表requisições

id_req  id_item  id_user  startDate   startTime  endDate     endTime    quant  created     
 9       10        1  2015-11-19  10:00:00   2015-11-19  11:50:00      23  2015-11-06  
10       10        1  2015-11-20  10:00:00   2015-11-20  11:50:00      12  2015-11-06  

查询返回

总计

(NULL)

如果时间为空,我希望在没有借书的情况下拥有全部数量。

查询

SELECT SUM(i.`quantidade`-r.`quant`) AS total 
  FROM `requisicoes` AS r
 INNER JOIN `item` AS i ON (r.`id_item` = i.`id_itens`)
 WHERE r.`startDate` = "2015-11-20"
  AND r.`endDate` = "2015-11-20"
  AND r.`startTime` = "12:00:00" AND r.`endTime` = "12:50:00"

0 个答案:

没有答案