我有兩個表,一個用於銷售,另一個用於庫存。 我想從銷售表中選擇位置ID,商品ID,尺寸ID和銷售數量,而我只想從銷售表中選擇相同位置ID和尺寸ID的庫存表中的庫存數量,如下所示:在一個結果表中結合多個select語句
銷售表:
------------------------------------
| loc_id | item_id | size_id | qty |
------------------------------------
| 5 | 11321 | 1 | 5 |
| 5 | 11321 | 2 | 8 |
| 5 | 11321 | 3 | 4 |
| 5 | 11321 | 2 | 1 |
庫存表:
------------------------------------
| loc_id | item_id | size_id | qty |
------------------------------------
| 5 | 11321 | 1 | 3 |
| 5 | 11321 | 2 | 7 |
| 5 | 11321 | 3 | 9 |
所以選擇後的結果應該是這樣的:
------------------------------------------------------
| loc_id | item_id | size_id | sales_qty | stock_qty |
------------------------------------------------------
| 5 | 11321 | 1 | 5 | 3 |
| 5 | 11321 | 2 | 9 | 7 |
| 5 | 11321 | 3 | 4 | 9 |
這裏就是我試圖做的:
SELECT SUM(T1.qty) AS `salesQty`, SUM(T2.qty) AS `stockQty`, T1.size_id,
T1.loc_id
FROM sales T1
INNER JOIN stock T2 ON T2.item_id = T1.item_id AND T2.size_id = T1.size_id
WHERE T1.item_id = '11321'
AND T1.size_id IN (1,2,3)
AND T1.loc_id IN (5)
GROUP BY T1.size_id, T1.loc_id
但庫存數量永遠是錯的!
嘗試改變:SUM(T2.qty)總結(數量) –
@KohjahBreese,我得到 「列 '數量' 中的字段列表不明確」! – CairoCoder
然後嘗試更改:SUM(T2.qty)to T2.qty + T1.qty;我會在答案中發帖。 –