我真的在努力處理下面的SQL。我嘗試了很多不同的東西,而且我無法讓他們工作。帶有左連接,Where子句和Sum()的SQL語句?
我基本上需要做的是LEFT OUTER JOIN這個工作的SQL語句:
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"
這一個:
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語句不是很好玩?
但我似乎無法得到任何解決方案,我發現在線工作。我試過的一個解決方案看起來像是用括號內的SUM()和GROUP BY(我的底部語句)包裝了SQL語句並加入了它?
有人能幫忙嗎?
謝謝你的時間。
最簡單的是在實際包裝SUM選擇在派生表,然後離開加入到它。並檢查第一個查詢的結果是否符合您的期望,這是一個Inner連接而不是Left。 – dnoeth
您沒有使用表2中的任何列,您是否試圖通過表2限制表1的結果? – Matt
是表2僅用於限制表1的結果 - 它應該有一個內部連接tbh,但我正忙着試圖使這個工作,並開始改變任何事情和一切。也是它是一個派生表,我試圖實現,但我只是無法得到它的工作... – Dark