A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
SELECT [%$##@_Alias].価格帯, Sum([%$##@_Alias].数量S) AS 数量
FROM [SELECT "499円以下" AS 価格帯,0 AS 数量S,0 AS 表示順
FROM テーブル1
UNION
SELECT "500~999円" AS 価格帯,0 AS 数量S,1 AS 表示順
FROM テーブル1
UNION
SELECT "1000~1999円" AS 価格帯,0 AS 数量S,2 AS 表示順
FROM テーブル1
UNION
SELECT "2000~2999円" AS 価格帯,0 AS 数量S,3 AS 表示順
FROM テーブル1
UNION
SELECT "3000~3999円" AS 価格帯,0 AS 数量S,4 AS 表示順
FROM テーブル1
UNION
SELECT IIf([価格]<500,"499円以下",IIf([価格]<1000,"500~999円",IIf([価格]<2000,"1000~1999円",IIf([価格]<3000,"2000~2999円","3000~3999円")))) AS 価格帯, Sum(テーブル1.数量) AS 数量S,IIf([価格]<500,0,IIf([価格]<1000,1,IIf([価格]<2000,2,IIf([価格]<3000,3,4)))) AS 表示順
FROM テーブル1
GROUP BY IIf([価格]<500,"499円以下",IIf([価格]<1000,"500~999円",IIf([価格]<2000,"1000~1999円",IIf([価格]<3000,"2000~2999円","3000~3999円")))),IIf([価格]<500,0,IIf([価格]<1000,1,IIf([価格]<2000,2,IIf([価格]<3000,3,4))))]. AS [%$##@_Alias]
GROUP BY [%$##@_Alias].価格帯, [%$##@_Alias].表示順
ORDER BY [%$##@_Alias].表示順;
No.2
- 回答日時:
追記。
UNIONの前半部分は「数量が0のレコードを生成する部分」です。この部分が無い
SELECT IIf([価格]<500,"499円以下",IIf([価格]<1000,"500~999円",IIf([価格]<2000,"1000~1999円",IIf([価格]<3000,"2000~2999円","3000~3999円")))) AS 価格帯, Sum(テーブル1.数量) AS 数量
FROM テーブル1
GROUP BY IIf([価格]<500,"499円以下",IIf([価格]<1000,"500~999円",IIf([価格]<2000,"1000~1999円",IIf([価格]<3000,"2000~2999円","3000~3999円")))), IIf([価格]<500,0,IIf([価格]<1000,1,IIf([価格]<2000,2,IIf([価格]<3000,3,4))))
ORDER BY IIf([価格]<500,0,IIf([価格]<1000,1,IIf([価格]<2000,2,IIf([価格]<3000,3,4))));
と言うクエリだと
価格帯数量
499円以下1
1000~1999円5
2000~2999円2
3000~3999円2
となってしまい
500~999円0
のレコードが出ません。
No.3
- 回答日時:
質問が若干おかしいようです
1001~1999円→1000~1999円
クエリを二段階にする。テーブル名やフィールド名が判らないので、適当に命名したサンプルで試しました。
・第一段階
SELECT [品物].価格, [品物].数量, Int([品物].[価格]/500) AS 式1
FROM 品物;
・第二段階
SELECT [価格帯].呼び名, [価格帯].価格グループ, Sum(クエリ1.数量) AS 数量の合計
FROM 価格帯 INNER JOIN クエリ1 ON [価格帯].価格値 = クエリ1.式1
GROUP BY [価格帯].呼び名, [価格帯].価格グループ
ORDER BY [価格帯].価格グループ;
・価格帯テーブルには呼び名フィールドを持たせ「1000~1999円」などが入っています。
・#2にも指摘されていますが
500~999円
などを出すためには、各価格帯に対し、数量0のダミーデータを置いては如何でしょうか?
この回答へのお礼
お礼日時:2010/03/18 09:09
>質問が若干おかしいようです
>1001~1999円→1000~1999円
そうですよね。1000~1999円でした。
やぱり、段階に区切ってSQL文書いた方がわかりやすいですかね。
ありがとうございました。
No.4
- 回答日時:
#3です。
ダミーを使用せず「500~999円 0」を出すSQL文
SELECT [価格帯].呼び名, Sum(IIf(IsNull([数量]),0,[数量])) AS 数量の合計
FROM 価格帯 LEFT JOIN クエリ1 ON [価格帯].価格値 = クエリ1.式1
GROUP BY [価格帯].呼び名, [価格帯].価格グループ
ORDER BY [価格帯].価格グループ;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Access VBAで条件を追加する(書き込む)場所 2 2022/03/23 12:05
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- SQL Server 2つのSQL(Access)の結果[時刻,カウント数]を結合して集計する方法 1 2022/04/06 22:57
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- SQL Server これをSQL文で出来るでしょうか? 1 2023/03/26 02:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
抽出条件でデータ型が一致しま...
-
Access2013の式ビルダーでユー...
-
DAOでSQLServerに接続し、LeftJ...
-
別のaccessファイルからデータ...
-
データがあれば○○なければのSQL
-
Access vbaで重複レコードの削...
-
ACCESS VBAでテーブル内の特定...
-
アクセスで定数を利用したい。
-
accessのデータを拾って、ユー...
-
SQLの同時実行
-
もしかして
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
「PC Helpsoft Driver Updated...
-
CloseとDisposeの違い
-
【Excel】特定の文字を含むセル...
-
switch の範囲指定
-
アクセスVBAのMe!と[ ]
-
Do~Loopした回数をカウントしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
【access】複数のフィールドの...
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
Accessで縦と横を入れ替えたい
-
VBAでテーブル名とカラム名を動...
-
DataGridViewで複数条件の抽出...
-
Access から Excelのシートをイ...
-
重複した複数のレコードを1レ...
-
DAOでSQLServerに接続し、LeftJ...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
sql文で削除クエリを書く
-
別のaccessファイルからデータ...
-
access追加クエリーでform入力...
-
抽出条件でデータ型が一致しま...
-
【PHP/MySQL】コード上で生成...
-
Accessリンクするテーブルが見...
-
ACCESSで購入回数を表示する方...
おすすめ情報