2017-01-12 13 views
0

誰かが次のことを説明できますか?Sql 2 innerは他のデータの結果と結合します

SELECT results.`referentie`,products.`categorie`,products.`url`,products.`inkoopPrijs`,SUM(results.`stockverschil`) AS 'stockverschil' 
    FROM `results` results 
    INNER JOIN products 
    ON products.`referentie` = results.`referentie` 
    WHERE results.`datum` BETWEEN '2017-01-11' AND '2017-01-12' AND results.`referentie`= '1'  

結果は200(右量)のstockverschil結果

SELECT results.`referentie`,products.`categorie`,products.`url`,products.`inkoopPrijs`,sold.`winstPerProductPerDag`,SUM(results.`stockverschil`) AS 'stockverschil' 
    FROM `results` results 
    INNER JOIN products 
    ON products.`referentie` = results.`referentie` 
    INNER JOIN sold 
    ON sold.`referentie` = results.`referentie` 
    WHERE results.`datum` BETWEEN '2017-01-11' AND '2017-01-12' AND results.`referentie`= '1' 

結果は4800 のstockverschil結果は、私はINNER JOINのと間違って何かをやっているのでしょうか?

+0

タグ、使用しているDBMSのための適切な集約関数で、これを試してみてください[販売]多く、1つの[製品]が、sold上の問題のように思えます。 – jarlh

+0

これはどういう意味ですか:「200の在庫切れの結果」? –

+0

私はMysqlデータベースを使用しています –

答えて

0

関係

SUM(sold.winstPerProductPerDag)

SELECT results.`referentie`,products.`categorie`,products.`url`,products.`inkoopPrijs`,s.`winstPerProductPerDag`,SUM(results.`stockverschil`) AS 'stockverschil' 
FROM `results` results 
INNER JOIN products 
ON products.`referentie` = results.`referentie` 
INNER JOIN (select SUM(sold.`winstPerProductPerDag`) as `winstPerProductPerDag`, sold.`referentie` from sold group by sold.`referentie`) s on s.`referentie` = results.`referentie` 
WHERE results.`datum` BETWEEN '2017-01-11' AND '2017-01-12' AND results.`referentie`= '1' 
+0

ありがとう! –

関連する問題