2016-11-28 8 views
0

私は一つの小さな問題を抱えている...複数SUM

私は2 SQLのための質問にseparetedています

1:

SELECT SUM(iloscrec*ilosc/100) AS iloscsur, surowiec, Produkt 
FROM receptura 
    JOIN produkcjadb ON(produkcjadb.Produkt = receptura.kolor) 
WHERE data_zakonczenia >= CURRENT_DATE 
GROUP BY surowiec 

2:

SELECT SUM(ilosccal) AS ilosc, material, jednostka 
FROM surowce 
WHERE magazyn='G' || magazyn='K' || magazyn='S' || magazyn='P' || magazyn='PROUT' || 
     magazyn='W' || magazyn='OR' 
GROUP BY material 

そして今私の質問ですが、私はこの2つの質問を1つに接続し、2番目の質問からSELECTの行どこに1つの質問WHERE

material (secondquestion) = surowiec (from1question) 

5時間程度しようとしてイムが、それでも私は、SQL構文エラー

を持っているが、事前にありがとうございます!

+1

一般的なGROUP BYルールでは、GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を特定するか、または集合関数の引数でなければなりません。 – jarlh

+0

お手伝いをします。あなたの表構成、サンプルデータ、そしてあなたがそれを取得しようとしている結果を共有してください。 – Mureinik

答えて

0

問題がわかっているかわかりません。構造を作成してサンプルデータを挿入するためのスクリプトを提供し、期待される結果を表示してもそれが役に立ちますが、とにかくサブクエリを使用したいと思います。このような何か:

select ... 
from (SELECT SUM(iloscrec*ilosc/100) AS iloscsur, surowiec, Produkt 
     FROM receptura 
     JOIN produkcjadb ON(produkcjadb.Produkt = receptura.kolor) 
     WHERE data_zakonczenia >= CURRENT_DATE 
     GROUP BY surowiec 
    ) t1 join (
     SELECT SUM(ilosccal) AS ilosc, material, jednostka 
     FROM surowce 
     WHERE magazyn='G' || magazyn='K' || magazyn='S' || magazyn='P' || magazyn='PROUT' || magazyn='W' || magazyn='OR' 
     GROUP BY material 
    ) t2 
     on t2.material = t1.surowiec 
0

ああ、もちろんその私のせい

receptura 
-surowiec 
-iloscrec 
-kolor 

produkcjadb 
-Produkt 
-Ilosc 

surowce 
-material 
-ilosccal 
-magazyn 

、今私はどんなチャンスがある

1:SUM(iloscrec*ilosc/100) from receptura and produkcjadb where Produkt=kolor 
2:SUM(ilosccal) FROM surowce Where magazyn='G' || magazyn='K' || magazyn='S' || magazyn='P' || magazyn='PROUT' || 
    magazyn='W' || magazyn='OR' 
3: matched this row where material(surowce)=surowiec(receptura) 

を選択する必要がありますか?