
商品別3ヶ月販売推移表の作成をするSQLでずが、FROM句の構文エラーですとメッセージが表示されます。どこが間違えているでしょうか。
SELECT
ProductID
, ProductName
, "6月販売金額"
, "7月販売金額"
, SWITCH ( "6月販売金額" < "7月販売金額" , '↑'
,"6月販売金額" = "7月販売金額" , '→'
,"6月販売金額" > "7月販売金額" ,'↓' ) AS 対6月増減
, "8月販売金額"
, SWITCH ( "7月販売金額" < "8月販売金額" , '↑'
,"7月販売金額" = "8月販売金額" , '→'
,"7月販売金額" > "8月販売金額" , '↓' ) AS 対7月増減
FROM
(
SELECT
p.ProductID
, p.ProductName
, SUM(SWITCH (s.SalesDate IS NULL, 0
, MID(CStr(s.SaleDate),1,7) = '2007-06', s.Quantity * p.Price
, not MID(CStr(s.SaleDate),1,7) = '2007-06', 0) AS 6月販売金額
, SUM(SWITCH (s.SalesDate IS NULL, 0
, MID(CStr(s.SaleDate),1,7) = '2007-07', s.Quantity * p.Price
, not MID(CStr(s.SaleDate),1,7) = '2007-07', 0) AS 7月販売金額
, SUM(SWITCH (s.SalesDate IS NULL, 0
, MID(CStr(s.SaleDate),1,7) = '2007-08', s.Quantity * p.Price
, not MID(CStr(s.SaleDate),1,7) = '2007-08', 0) AS 8月販売金額
FROM
Products AS p
LEFT OUTER JOIN
Sales AS s
ON p.ProductID = s.ProductID
GROUP BY
p.ProductID
p.ProductName
)
GROUP BY
p.ProductID
;
No.2ベストアンサー
- 回答日時:
よくよく見ると、他にも問題がありました。
1) "6月販売金額" 等と、列名を " で括ってますが、 AccessSQLではこれは「文字列」になります。
2)s.SalesDate と s.SaleDate が混在しています。
3)sum (〜 の括弧の数を確認しましょう。
4)サブクエリ内の GROUP BY p.ProductID p.ProductName の書き方がおかしいです。
5)最後の GROUP BY p.ProductID って、外側のSELECTでは集計関数を使っていないので不要なのでは。
2、3等は単純なミスです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
AccessのSQLで、FROM句の構文エラー
その他(データベース)
-
-
4
「FROM 句の構文エラーです」が表示される
Visual Basic(VBA)
-
5
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
6
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
7
実行時エラー '3464': 抽出条件でデータ型が
Access(アクセス)
-
8
Access2010 「演算子がありません」エラー
その他(データベース)
-
9
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
将棋のDB。「この局面と同一の...
-
CSVファイルでテキストの改行の...
-
ACCESSのSQLで、NULLかNULLでな...
-
最新の日付とその金額をクエリ...
-
エクセルのフィルタ抽出が固まる
-
警察はスマホに保存した動画や...
-
マイクロソフトAccessでsqlのas...
-
データベースの選定について 要...
-
顧客データベースを作る場合、...
-
Accessのフォームへ、記録者の...
-
Accessを開きなおすとテキスト...
-
OS400/DB2のデータをWebで表示...
-
私はシステム会社に務めている...
-
ドリームメーカーってどうやっ...
-
sql update で 抽出条件データ...
-
DB2のSELECTでカンマ編集につい...
-
半角ハイフンに似た文字
-
データベースの勉強 公務員を目...
-
はじめてのAccess 2019 について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
請求書の金額が異なる場合の、...
-
数百万円って いくらでしょうか?
-
あなたは1年間に、どのくらい...
-
雨の日に自転車に乗る時のレイ...
-
振込の時の領収書の書き方
-
まいばすで働いてたんですが、...
-
word&excel 2007での差込印刷で...
-
VBA テキストボックスに3桁カ...
-
期日前投票立会人の仕事
-
給与/報酬の「支給額」と「支...
-
大手金融機関が預入金額5百万円...
-
期末現在の資本金等の額
-
1976年の7万円は現在だといくら...
-
出産祝いプレゼントを有志であ...
-
クイックペイは、スマホがモバ...
-
「初穂料はお志」の「お志」と...
-
エクセル合計値について
-
5万(税別)-源泉徴収の場合に...
-
源泉徴収票の「給与所得控除後...
-
スマホを買った金額を教えてく...
おすすめ情報
以下のように、別名を付けましたが、同じエラーです。
…
) AS 商品別販売金額
GROUP BY
p.ProductID
;
回答ありがとうございます。
1)は、テーブルの項目名ではないので[]で括りました。
また、IS NULLを = ""に変更して、エラー無しで保存できました。
実行した結果、「NULL文字の使い方が正しくありません」とメッセージが表示されました。