我需要我購買的物品和物品我賣了,我在這個表需要兩列之間,如果第二個有空項,它會顯示在第一列
ID |ItemName| PriceOfUnit | NumberOfItems I bought |DateIBought|
1 | tea | 3 | 6 |15/11/2015 |
2 | coffee | 5 | 4 |16/11/2015 |
3 | tea | 4 | 10 |20/12/2015 |
4 | juice | 5 | 15 | 1/1/2016 |
5 | coffee | 3 | 5 | 15/3/2016 |
6 | water | 5 | 2 | 16/4/2016 |
購買的物品之間的差數之差
和物品我賣是在這個表
ID |ItemName| PriceOfUnit | NumberOfItems I sold |DateIBought|
1 | coffee | 5 | 6 | 1/1/2016 |
2 | tea | 5 | 9 | 15/3/2016 |
3 | coffee | 4 | 2 | 20/4/2016 |
4 | juice | 5 | 11 | 1/1/2016 |
我需要在MS Access查詢,SQL查詢或聯合查詢得到這個結果:
ID |ItemName| NumberOfItems I have |
1 | coffee | 1 |
2 | tea | 7 |
3 | juice | 4 |
4 | water | 2 |
凡NumberOfItems I have = NumberOfItems I bought - NumberOfItems I sold
我想這
Q1:
SELECT ItemName, SUM(bought) as SumBought
FROM tBought GROUP BY ItemName
Q2:
SELECT ItemName, SUM(sold) as SumSold
FROM tSold GROUP BY ItemName
Q3:
SELECT q1.ItemName, (SumBought - SumSold) as difference
FROM q1 inner join q2 on q1.ItemName = q2.ItemName
,我得到這樣的結果
ID |ItemName| NumberOfItems I have |
1 | coffee | 1 |
2 | tea | 7 |
3 | juice | 4 |
所有我現在需要的是..顯示NumberOfItems I bought
,如果我不賣這個項目的任何東西
因爲這個例子是「水」
我不明白id列。如果沒有意義,那就擺脫它。另外,我會將其作爲單個交易表執行。 – Strawberry
好吧,無論ID列,我如何得到我想要的結果 –
你快到了。看看[OUTER JOINS](https://msdn.microsoft.com/en-us/library/bb208894(v = office.12).aspx)。目前,您的INNER JOIN只會返回在已售出的表格中購買1個或多個條目的商品。 –