2013-12-19 44 views
0

我有兩個表:寫SELECT查詢

table1 =tbl_main: 

    item_id fastec_qty 
    001  102 
    002  200 
    003  300 
    004  400 

    table2= tbl_dOrder 
    order_id item_id  amount 
    1001   001  30 
    1001   002  40 
    1002   001  50 
    1002   003  70 

我如何可以編寫一個查詢,使表的結果如下:

item_id  amount difference 
    001   102  22 
    002   200  160 
    003   300  230 
    004   400  400 

在表中的金額之間的差額1和從表2中支付的總金額。

+0

你爲什麼把你的問題標記爲'c#'。你需要linq嗎? –

+0

我想在datagridview控件中顯示結果。 –

回答

2
SELECT q.item_id, a.fastec_qty AS amount, a.fastec_qty - q.amount AS difference 
FROM (
    SELECT item_id, SUM(amount) AS amount 
    FROM tbl_dOrder 
    GROUP BY item_id 
) q 
    JOIN tbl_main a ON a.item_id = q.item_id 

這裏這個查詢首先將SUM的金額從tbl2item_id分組,然後它將JOIN該查詢的結果與第一個表,以便它可以執行差分列的計算。

+1

非常感謝 –