2017-08-09 65 views
0

嗨!我需要搜索stock.id所有pedidos.cantidad的总和> =超过$销售内部加入,选择SUM和Where

我已经写了这一点,但好像它不工作:

SELECT * 
    , SUM(pedidos.cantidad) as total 
    FROM stock 
INNER 
    JOIN pedidos 
    ON stock.producto = pedidos.producto 
WHERE pedidos.producto = '$sale' 
    AND total >= stock.cantidad 
ORDER 
    BY stock.id ASC 
LIMIT 1 

我的表: 股票

ID | Producto | Cantidad

Pedidos

ID | Producto | Lote |所以我需要这个:SELECT stock.id WHERE(stock.cantidad -SUM(pedidos.cantidad))> = $ sale(销售价格)= $销售额AND stock.producto = pedidos.producto AND stock.id = pedidos.lote

准确地说,当我注册新的销售时,我需要找到stock.id where(stock.cantidad - SUM(pedidos.cantidad ))为> = $ new_sale把那个stock.id到新的输入上pedidos.lote

同类为难我试图解释我需要什么,因为我讲西班牙语,请原谅我这个

+2

请编辑您的问题,看看到[藿做我问mysql的问题](https://meta.stackoverflow.com/questions/333796/how-do-i-ask -mysql-questions-without-exposing-my-database) – Myonara

+0

你已经说过'stock.id = pedidos.lote',但没有包含在表中。什么是lote,当你已经连接到producto时,lote如何连接pedidos和stock? – Matt

+0

stock.id和pedidos.lote是完全一样的,这就是我需要将这些表联系起来以推断是否有可用的股票。 –

回答

0

不知道你的表和数据结构..试试这个:

SELECT Stock.ID 
FROM Stock 
WHERE Stock.Producto IN ( 
    SELECT producto 
    FROM pedidos 
    GROUP BY producto 
    HAVING SUM(pedidos.cantidad) >= 100 // Your sale value 
) 

这是什么做的是: 获取所有的PRODUCTO记录,当组合在一起有一笔> $出售然后寻找一切有Producto发现的Stock.ID。

编辑

​​
+0

嗨!我忘了一些东西: –

+0

@GuillermoEsquivel而...不要让我挂在:)。你忘了什么? – Matt

+0

对不起! :忘记这一点: stock.producto需要= pedidos.producto AND stock.id = pedidos.lote所以我需要这个:SELECT stock.id WHERE SUM(pedidos.cantidad)> = $ sale AND stock.producto = pedidos.producto AND stock.id = pedidos.lote对我来说,这是一种难以解释我需要的东西,因为我会说西班牙语,请道歉我这个 –