有人能指出我正确的方向,我无法让它像我想的那样工作。
这是我的表
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"