2017-08-09 84 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對我來說,這是一種難以解釋我需要的東西,因爲我會說西班牙語,請道歉我這個 –