2016-08-18 70 views
0

我的數據集,就像這樣:如何將一個字段的總和與另一個字段進行比較?

  • Total_Order_Table
  • Order_no(唯一的)
  • Shipped_quantity
  • Order_Detail_Table
  • ORDER_NUMBER(不是唯一的)
  • Quantity_per_bundle

我需要爲Order_Detail_Table中的每個order_number獲取Quantity_per_bundle的總和並將其與Shipped_quantity進行比較。

我的想法是外連接,使我的數據會看起來像這樣:

enter image description here

我需要能夠看到數量的差異,如果兩個表中存在的訂單號。

在此先感謝!

+0

您可以在子查詢中執行求和(按順序#分組),然後使用LEFT JOIN將其加入到「總計」表中,其中子查詢位於連接的右側。 – Uueerdo

回答

0
具有完全外

Normaly JOIN在SQL:

SELECT to.Order_no AS Order_no_Total_Order_Table, od.Order_number AS Order_No_Ordr_detail_Table, SUM(od.Order_number) AS sum_Quanitty_Per_Bundle, od.Order_number 
FROM Total_Order_Table AS to 
FULL OUTER JOIN Order_Detail_Table AS od ON to.Order_no = od.Order_number 
GROUP BY to.Order_no 

但在MySQL中不存在FULL OUTER JOIN。但您可以模擬它:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/

0

除非我在這個問題中遺漏了一些細微的東西,這不就像SELECT查詢的表格之間的連接一樣簡單。

東西沿着此線應該達到的效果:

SELECT tot.Order_no, 
     odt.Order_no, 
     SUM(odt.Quantity_per_bundle), 
     tot.Shipped_quantity 
    FROM Total_Order_Table tot 
    LEFT JOIN Order_Detail_Table odt ON odt.Order_Number = tot.Order_Number 
    GROUP BY tot.Order_no, odt.Order_no, tot.shipped_quantity 

(代碼不能在MySQL中測試,所以原諒的錯誤)

+0

這對於訂單數量差異很大,但它不顯示我是否只有一個訂單中存在一個訂單。 – WacksPoetic

相關問題