2017-06-23 10 views
-2

合計購入在庫、累計在庫、および現在の在庫をそのユニットで計算したいと思います。私は間違った結果を与える以下のsqlqueryを使用しています。SUM機能を使用して現在の在庫を計算してください

私は3種類のテーブルを持っています。購買記録には購買記録が含まれています2.消費(消費記録を含む)3.キッチンアイテム(キッケンアイテムとそのユニットの名前が入ります)

私は間違った結果を与える以下のsqlqueryを使用しています。

select k.Data as 'Item Name', SUM(p.Quantity) as 'Purchased Stock', SUM(DISTINCT c.Used_Quantity) as 'Cunsumed Stock', (SUM(p.Quantity)- SUM(DISTINCT c.Used_Quantity)) as 'Current Stock', k.Unit 
from kichenitems k, dailyCunsumtion c, dailyPurchase p 
where c.Item_Name=p.Item_Name and k.Data =p.Item_Name and k.Data =c.Item_Name 
group by k.Data,k.Unit 

それは間違った結果が、私はので、私はその適切な単位で合計購入株式、総消費量、および現在の在庫を持つすべての項目名を取得カント私に正しいものを教えて教えています。 ありがとうございます...

+1

は - 私の一日行わ。間違っている? –

+0

テーブルを接続するための古い構文と守らない構文を使用しています。 JOINについて読む。 –

+0

サンプルデータと希望する出力がなく、現在の出力に何が問題なのか、あなたが望むものが明確ではありません。しかし、量に「別個」を使用することは間違っているように見えます。それらの両方を削除します。 – trincot

答えて

0

サブクエリでdailyCunsumtionとは別のレコードを分離しなければなりません。

このお試しください:_ _「それは間違った結果は、私が正しいものを教えて教えています」

SELECT 
    k.Data as 'Item Name' 
, SUM(p.Quantity) as 'Purchased Stock' 
, SUM(c.Used_Quantity) as 'Cunsumed Stock' 
, SUM(p.Quantity - c.Used_Quantity) as 'Current Stock' 
, k.Unit 
FROM kichenitems k 
INNER JOIN dailyPurchase p    
     AND p.Item_Name = k.Data  
INNER JOIN (SELECT DISTINCT Item_Name 
          , Used_Quantity 
         FROM dailyCunsumtion) c     
         ON c.Item_Name = p.Item_Name  
GROUP BY k.Data, k.Unit 
+0

これは、繰り返し使用された在庫数と同じ結果として間違った結果を返します。 – user8206703

+0

その場合、質問自体にコメントした人には延期する必要があります。質問に答えたい場合は、サンプルデータと希望する結果を追加する必要があります。 – Jake

関連する問題