私の問題はやや特殊であるため、非常に長い検索の後、まだ見つけて答えていません。私は次の選択を使用します。
在庫あり:
select
INs.CatID as CategoryID,
INs.SubCatID as SubcategoryID, Sum(INs.Quantity) as QuantityIN
from IN_Stock INs
group by INs.CatID, INs.SubCatID
╔════════════╦═══════════════╦════════════╗
║ CategoryID ║ SubcategoryID ║ QuantityIN ║
╠════════════╬═══════════════╬════════════╣
║ 2 ║ 9 ║ 0 ║
║ 1 ║ 16 ║ 8 ║
║ 1 ║ 27 ║ 5 ║
║ 1 ║ 30 ║ 160 ║
║ 1 ║ 31 ║ 6 ║
║ 1 ║ 39 ║ 35 ║
║ 1 ║ 40 ║ 7 ║
║ 2 ║ 44 ║ 13 ║
║ 2 ║ 54 ║ 6 ║
║ 2 ║ 70 ║ 5 ║
║ 3 ║ 87 ║ 3,5 ║
╚════════════╩═══════════════╩════════════╝
売り切れ:
select
OUTs.CatID as CategoryID,
OUTs.SubCatID as SubcategoryID,
Sum(OUTs.Quantity) as QuantityOUT
from OUT_Stock OUTs
group by OUTs.CatID, OUTs.SubCatID
╔════════════╦═══════════════╦═════════════╗
║ CategoryID ║ SubcategoryID ║ QuantityOUT ║
╠════════════╬═══════════════╬═════════════╣
║ 1 ║ 30 ║ 30 ║
║ 1 ║ 39 ║ 15 ║
╚════════════╩═══════════════╩═════════════╝
私が得たのは、次の表です(明らかに正しくありません)。
select
INs.CatID as CategoryID,
INs.SubCatID as SubcategoryID,
Sum(INs.Quantity) as QuantityIN,
SUM(OUTs.Quantity) as QuantityOUT,
SUM(INs.Quantity)- SUM(OUTs.Quantity) as RemainingQuantity
from IN_Stock INs
left join OUT_Stock OUTs on INs.CatID=OUTs.CatID and INs.SubCatid=OUTs.SubCatid
group by INs.catid, INs.subcatid
╔════════════╦═══════════════╦═════════════╦════════════╦═══════════════════╗
║ CategoryID ║ SubcategoryID ║ QuantityIN ║ QuantityOUT║ RemainingQuantity ║
╠════════════╬═══════════════╬═════════════╬════════════╬═══════════════════╣
║ 2 ║ 9 ║ 0 ║ ║ ║
║ 1 ║ 16 ║ 8 ║ ║ ║
║ 1 ║ 27 ║ 5 ║ ║ ║
║ 1 ║ 30 ║ 320 ║ 150 ║ 170 ║
║ 1 ║ 31 ║ 6 ║ ║ ║
║ 1 ║ 39 ║ 35 ║ 30 ║ 5 ║
║ 1 ║ 40 ║ 7 ║ ║ ║
║ 2 ║ 44 ║ 13 ║ ║ ║
║ 2 ║ 54 ║ 6 ║ ║ ║
║ 2 ║ 70 ║ 5 ║ ║ ║
║ 3 ║ 87 ║ 3,5 ║ ║ ║
╚════════════╩═══════════════╩═════════════╩════════════╩═══════════════════╝
私が望むのは、以下のテーブルのようなものを返す SQL で選択を行うことです...そして、RemaningStock 列で見ることができるかどうか、またどのように見ることができるかを知りたいです: 130 where SubcategoryID=30 and 20 where SubCategoryID=39.
╔════════════╦═══════════════╦════════════╦════════════╦═══════════════════╗
║ CategoryID ║ SubcategoryID ║ QuantityIN ║ QuantityIN ║ RemainingQuantity ║
╠════════════╬═══════════════╬════════════╬════════════╬═══════════════════╣
║ 2 ║ 9 ║ 0 ║ ║ ║
║ 1 ║ 16 ║ 8 ║ ║ ║
║ 1 ║ 27 ║ 5 ║ ║ ║
║ 1 ║ 30 ║ 160 ║ 30 ║ 130 ║
║ 1 ║ 31 ║ 6 ║ ║ ║
║ 1 ║ 39 ║ 35 ║ 15 ║ 20 ║
║ 1 ║ 40 ║ 7 ║ ║ ║
║ 2 ║ 44 ║ 13 ║ ║ ║
║ 2 ║ 54 ║ 6 ║ ║ ║
║ 2 ║ 70 ║ 5 ║ ║ ║
║ 3 ║ 87 ║ 3,5 ║ ║ ║
╚════════════╩═══════════════╩════════════╩════════════╩═══════════════════╝
両方のテーブルには、特定のカテゴリまたはサブカテゴリの 1 つまたは複数のレコードがあります
。どうもありがとう!
SQL または Access VBA コードのいずれかが適しています。
PS:初めての投稿なので「お手柔らかに」お願いします。