私は本当に以下のSQLに苦労しています。私は非常に多くの異なることを試みました、そして、私はそれらのどれも働かせることができません。私は基本的に行うために必要なもの左結合、Where句、およびSum()を使用したSQL文?
はLEFT OUTERが、この作業SQL文のJOINです:で
SELECT "TABLE1"."Sheet Number",
"TABLE1"."ID Number",
"TABLE1"."Identification",
"TABLE1"."Job Date",
"TABLE1"."p2c",
"TABLE2"."Range",
"TABLE1"."bcr",
"TABLE1"."Dataset ID",
"TABLE1"."ACC",
"TABLE1"."GNC",
"TABLE1"."Year",
"TABLE1"."Period",
"TABLE1"."Week",
"TABLE1"."Job_ID"
FROM "DATABASE"."dbo"."TABLE2" "TABLE2" LEFT OUTER JOIN "DATABASE"."dbo"."TABLE1" "TABLE1"
ON (((("TABLE2"."Contract"="TABLE1"."GNC")
AND ("TABLE2"."FromPeriod"="TABLE1"."Period"))
AND ("TABLE2"."FromWeek"="TABLE1"."Week"))
AND ("TABLE2"."FromYear"="TABLE1"."Year"))
WHERE "TABLE1"."ACC"='ACCOUNT57'
AND "TABLE1"."Dataset ID"=5
AND "TABLE1"."bcr"=1
AND "TABLE2"."Range"='Week'
ORDER BY "TABLE1"."Sheet Number"
をこの1:
SELECT "SALES"."JobId",
"SALES"."Total",
SUM("SALES"."Total") AS JOBTOTAL
FROM "DATABASE"."dbo"."SALES" "SALES"
GROUP BY "SALES"."JobId"
ON "SALES"."JobId"="TABLE1"."Job_ID"
しかし、他の私に大きな混乱を引き起こしているジョイン/私がオンラインで見つけた解決策を実装しようとしたときの不満。私はWHEREとGROUP BY文がうまくいきませんでしたか?
しかし、私はオンラインで仕事が見つかるとは思えません。私が試した1つの解決策は、ちょうどSUM()とGROUP BY(私の下のステートメント)を含むSQLステートメントを大括弧で囲み、
誰も助けてくれますか?
お時間をいただきありがとうございます。
最も簡単には、実際に派生表にSUMの選択をラップされた後、左がそれに参加。そして、最初のクエリの結果が期待どおりであるかどうかを確認します。これは、Leftの代わりにInner joinです。 – dnoeth
テーブル2のカラムを使用していない場合は、テーブル2の結果をテーブル1に限定しようとしていますか? – Matt
はいテーブル2は、テーブル1の結果を制限するためにのみ使用されます。内部結合tbhが必要ですが、これを動作させようとするのが面倒で、何かを変更し始めました。また、それは実装しようとした派生テーブルでしたが、私はちょうどそれを働かせることができませんでした... – Dark