dポイントプレゼントキャンペーン実施中!

商品別3ヶ月販売推移表の作成するSQLですが、実行すると
「抽出条件でデータが一致しません」と表示されます。
以下のSQLのどこがおかしいのでしょうか。

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.SaleDate = "", 0
, Format(SaleDate, 'yyyy-mm') = '2007-06', s.Quantity * p.Price
, not Format(SaleDate, 'yyyy-mm') = '2007-06', 0)) AS 6月販売金額
, SUM(SWITCH (s.SaleDate = "", 0
, Format(SaleDate, 'yyyy-mm') = '2007-07', s.Quantity * p.Price
, not Format(SaleDate, 'yyyy-mm') = '2007-07', 0)) AS 7月販売金額
, SUM(SWITCH (s.SaleDate = "", 0
, Format(SaleDate, 'yyyy-mm') = '2007-08', s.Quantity * p.Price
, not Format(SaleDate, 'yyyy-mm') = '2007-08', 0)) AS 8月販売金額
FROM
Products AS p
LEFT JOIN
Sales AS s
ON p.ProductID = s.ProductID
GROUP BY p.ProductID
, p.ProductName) AS 商品別販売金額
;

A 回答 (2件)

https://oshiete.goo.ne.jp/qa/11602425.html
s.SaleDate IS NULL

s.SaleDate = ""
に変えた理由は何ですか?
    • good
    • 0
この回答へのお礼

他のエラーをIS NULLが使えないと思い込みました。
実行できました。ありがとうございました。

お礼日時:2020/04/29 12:51

そのエラーが表示される場合は、抽出対象のフィールドのデータ型に合わない条件が設定されています。


データ型は合っているか、全角と半角を間違えていないかなどに気を付けながら条件を入力し直してみたらどうでしょうか?

例えば、数値型や日付/時刻型、Yes/No型のフィールドに文字列の条件を設定すると、このようなエラーが発生します。
また、自分では正しく「>10」や「True」などの条件を設定したつもりでも、条件が全角で入力されていると文字列と見なされてエラーが発生するので、デザインビューでクエリを表示させて、全角と半角の違いに気を付けてチェックしてみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2020/04/29 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!