下記のようなデータがあります。
ファイル番号 順番 カード番号 名前
--------------------------------------------
1 1 0010 山田
1 1 0009 佐藤
1 1 0008 鈴木
2 1 1010 高橋
2 1 1011 小林
2 2 1012 北沢
2 2 1013 竹田
3 1 2001 小山
3 1 2000 田中
ファイル番号と順番でグループ化し、カード番号の最小・最大、その最小・最大の名前を
取得したいです。
サブクエリを使用して出来ましたが、1つのクエリで出来ないかと思い、質問しました。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
【補足】MAX()、MIN()の回数を減らすには・・・。
SELECT
Max(Format([カード番号],"0000") & ":" & [名前]) AS THE_MAX,
Min(Format([カード番号],"0000") & ":" & [名前]) AS THE_MIN,
CutStr([THE_MAX],":",1) AS Max_番号,
CutStr([THE_MAX],":",2) AS Max_名前,
CutStr([THE_MIN],":",1) AS Min_番号,
CutStr([THE_MIN],":",2) AS Min_名前
FROM T4
GROUP BY T4.ファイル番号, T4.順番;
No.1
- 回答日時:
SELECT
CutStr(Max(Format([カード番号],"0000") & ":" & 名前),":",1) AS MAX_番号,
CutStr(Max(Format([カード番号],"0000") & ":" & 名前),":",2) AS MAX_名前,
CutStr(Min(Format([カード番号],"0000") & ":" & 名前),":",1) AS MIN_番号,
CutStr(Min(Format([カード番号],"0000") & ":" & 名前),":",2) AS MIN_名前
FROM T4
GROUP BY [ファイル番号], [順番];
ここでは CutStr()を使っていますが、Format()、Left()、Mid()を利用しても同じこと。そういうことで、『関数を利用すれば』という条件付きで可能だと思います。
Public Function CutStr(ByVal Text As String, _
ByVal Separator As String, _
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs(N <= UBound(strDatas)))
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- 学校 小中高は出席番号がアイウエオ順ですが、専門学校や大学は成績順ですか? 1番の人がテストの点数が1番高 3 2023/03/28 19:47
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Access 文字+年ごとの自動採番
-
最新の日付とその金額をクエリ...
-
[Access]異なるレコード間の文...
-
access 自動採番 年が変わる...
-
Recordset.FindFirstについて
-
〜のような結果を出すためのSQL...
-
Accessで日付が変わると番号が...
-
【アクセスVBA】テーブルにフィ...
-
Accessでのレコード存在チェック
-
access 請求番号の自動採番
-
質問です。 下記のテーブルとデ...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
SELECTの結果で同一行を複数回...
-
SELECTで1件のみ取得するには?
-
あるカラムのMAX値+1をINSERTし...
-
カレントレコードが無い事を判...
-
実績累計の求め方と意味を教え...
-
select句副問い合わせ 値の個...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessで日付が変わると番号が...
-
Accessでのレコード存在チェック
-
最新の日付とその金額をクエリ...
-
SELECT * FROM `生徒名簿` INNE...
-
access 自動採番 年が変わる...
-
〜のような結果を出すためのSQL...
-
【アクセスVBA】テーブルにフィ...
-
access 自動採番 「10-AA-000...
-
Access:抽出して、色をつけたい。
-
アクセスで「空き番」の確認
-
access 請求番号の自動採番
-
[Access]異なるレコード間の文...
-
条件をつけて日付の古い行を抜...
-
Access 文字+年ごとの自動採番
-
【SQL】existsでの商演算
-
【Access】選択クエリのグルー...
-
vba 直前の操作はキャンセルさ...
-
access2003で学籍番号から生徒...
-
質問です。 下記のテーブルとデ...
おすすめ情報