我確實要求這個問題的一部分here只是爲了讓我自己從被卡住的地方開始。但是,現在我遇到很多問題需要進一步尋找解決方案。那麼,我應該說我已經結束了自己的狀態,在那裏我可以編寫一個純粹邏輯的複雜查詢。但是,現在我在這種情況下,我意識到了邏輯,但不能通過寫作來實現。這裏是我的問題的描述:使用連接和select語句進行計算SQL
問題:
表1:
REFID ARTIKEL SUPPLIERID ORGID PIECES COSTPRICE DISCOUNT
126663 TV SONY 922 6 110 2.5
126663 TV Toshiba 922 4 75 2
126663 TV SONY 922 10 80 1
126663 TV LG 922 10 80 1
126663 TV SONY 922 4 65 1.5
126663 TV SONY 922 14 95 1.5
表2:
REFID ARTIKEL SUPPLIERID ORGID STOCK_SUM_PIECES
126663 TV SONY 922 16
126663 TV Toshiba 922 20
表3:
REFID ARTIKEL SUPPLIERID ORGID STORE SALE_SUM_PIECES DATE
126663 TV SONY 922 100 4 01.01.2014
126663 TV Toshiba 922 100 3 01.01.2014
要執行的操作:
首先我需要從table2
和table3
respectively.For例子總結STOCK_SUM_PIECES
和SALES_SUM_PIECES
:SUM_RESULT爲16 + 4 = 20,用於從SONY和TABLE2表3 接着,如圖分發SUM_RESULT
到行中table1
here。在分發過程中,一旦值達到零,就意味着只有那些行對TABLE2中的「SUM_PIECES」有效。例如:SONY的SUM_RESULT 20
僅適用於TABLE1
中的三行,因爲件數總計爲20,即6 + 10 + 4 = 20。現在只選擇這三行並計算TABLE1中的成本價格和折扣的平均值。
這是我無法解決的最複雜的部分。我不是要求一個人寫一個查詢,而是給我一個想法或方法來結束解決方案。
我目前成功地進行適當的連接,但在連接期間無法執行計算。這對我來說很複雜,因爲我不能使用curosrs或for循環等,因爲我必須使其性能高效,並且數據量也可能超過十億行。所以它必須使用連接和選擇語句來完成。 任何建議請幫忙!
感謝
假設mysql標記是錯誤的。我會建議試着讓你的問題自成一體,展示你嘗試過的東西,想要什麼。你可以用你試過的東西得到你想要的東西。 –
我寫的井問很大,字段名稱與示例中顯示的不一樣。這就是爲什麼我試圖創建一個可以簡單的方式定義我的問題的小例子 –
示例數據沒問題,但是查詢和期望的輸出在哪裏?把這些問題都放在這個問題上,你會得到比現在更好的迴應,即時通訊。 –