はじめての利用で恐縮ですがよろしくお願いいたします。
ACCESSのSQLについて質問させてください。
T_使用量
|日付 材料 使用量 単位
|4月1日 |小麦粉10kg/袋 |1 |袋
|4月1日 |小麦粉5kg/袋 |3 |袋
|4月2日 |小麦粉10kg/袋 |40 |kg
|4月2日 |小麦粉5kg/袋 |3 |kg
|4月2日 |パスタ200g/束 |2 |束
|4月2日 |パスタ50g/束 |3 |束
|4月5日 |コーヒー豆300g/袋 |300 |g
|4月6日 |コーヒー豆300g/袋 |2 |袋
というテーブルがあり、同じ材料でも単位が異なるものもあるため、集計を行う際に苦慮しております。
実現したいことは、選択クエリにおいて、
|日付 |材料 |使用量 |単位
|4月1日 |小麦粉10kg/袋 |10 |kg
|4月1日 |小麦粉5kg/袋 |15 |kg
|4月2日 |小麦粉10kg/袋 |40 |kg
|4月2日 |小麦粉5kg/袋 |3 kg
|4月2日 |パスタ200g/束 |400 |g
|4月2日 |パスタ50g/束 |150 |g
|4月5日 |コーヒー豆300g/袋 |300 |g
|4月6日 |コーヒー豆300g/袋 |600 |g
のようにしたいと考えており、
現在考えていることは、原材料のテーブルを、
T_原材料
|材料 |数量 |単位
|小麦粉10kg/袋 |10 |kg
|小麦粉5kg/袋 |5 |kg
|パスタ200g/束 |200 |g
|パスタ50g/束 |50 |g
|コーヒー豆300g/袋 |300 |g
のように作成し、
T_使用量の「材料と単位の組み合わせ」が、T_原材料の「材料と単位の組み合わせ」に存在しない場合、T_使用量の使用量を、「T_使用量の使用量にT_原材料の数量をかけあわせたもの」で表現することができれば実現できるものと愚考しております。
イメージとしては、
IF T_使用量.(材料&単位)<>T_原材料.(材料&単位) THEN T_使用量.使用量 = T_使用量.使用量 * T_原材料.数量
のような感じです、
IIF関数などでも実現できるのかなと考えたのですが、うまくいかず苦慮しております。
SQLに不慣れなものでして、ACCESSのSQLでこのようなことを実現する場合に、スマートな書き方があればご教示いただけると幸いです。
SELECT 日付,材料,(IF T_使用量.(材料&単位)<>T_原材料.(材料&単位) THEN T_使用量.使用量 = T_使用量.使用量 * T_原材料.数量),(IF T_使用量.(材料&単位)<>T_原材料.(材料&単位) THEN T_使用量.単位 = T_原材料.単位)
'FROM 使用量
何卒よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/23 23:23