テーブルAに以下のような項目があります。
[MAIL_ID][SEND_DATE][USER_ID]
テーブルBに以下のような項目があります。
[USER_ID][SEI][MEI]
やりたい事は、
・テーブルAとBを[USER_ID]をキーにして結合させたい。
・テーブルAの[MAIL_ID]ごとにグループ化して1行にまとめたい。
・テーブルBの[SEI]と[MEI]をつなげて1つの項目として表示させたい。
これを実現させるには、どういうSQLを書けば良いでしょうか?
私が試したのは、以下のSQL文です。
SELECT A.MAIL_ID, MIN(A.SEND_DATE) AS SEND_DATE,MIN( A.USER_ID) AS USER_ID,MIN(B.SEI) + MIN(B.MEI) AS ATESAKI
FROM TABLEA A INNER JOIN TABLEB B ON A.USER_ID = B.USER_ID
WHERE A.SEND_ID = '900001'
GROUP BY A.MAIL_ID
でも、これだと同じMAIL_IDが複数存在すると[SEI][MEI]が別人のものがくっついてしまいます。当然ですが。
グループ化する前に[SEI][MEI]を連結させる処理が必要なのだろうと思うのですが、それをどうすれば良いのかが分かりません...。
どうかよろしくお願いします。m(_ _)m
No.1ベストアンサー
- 回答日時:
[SEI]と[MEI]がそれぞれ単独でMIN関数を使用されていますが、
これは連結後でも良いのでは?
MIN( B.SEI + B.MEI )
みたいな感じで。
どうでしょうか?
できました~!!
何か特別な関数とかを使わないといけないのかもという先入観から1週間くらい分からなかったんですが。
ありがとうございました。
No.2
- 回答日時:
同じ[MAIL_ID]で違う[USER_ID]のレコードが存在するということでしょうか?
その場合[MAIL_ID]でグループ化した、どの[USER_ID]の[SEI][MEI]を出力したいのですか?
(現在はそれぞれ別個に最小値を出力しているようですが)
最小値を出力するのでしたら[MIN(USER_ID)]の[SEI][MEI]を出力したほうが良いのでは?
複数の人に同じメールを出す場合、[MAIL_ID]には同じ番号が入るようになっているのです。
>MIN(USER_ID)]の[SEI][MEI]を出力したほうが良いのでは?
その通りです。そのやり方が分からなかったものでで...。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
db2にて数値を3桁文字にて出力...
-
大量データの取得処理について
-
ORA-00959: 表領域'****'は...
-
データを削除しても表領域の使...
-
ACCESS 複数テーブル・複数フィ...
-
異なるスキーマからデータを抽...
-
SQLでスキーマ名(所有者名)の...
-
CLOB型へのINSERT
-
datapumpの実行方法について
-
検索結果の列数を動的に変更したい
-
Viewにインデックスは張れ...
-
列が255以上のCSVファイルをAcc...
-
DBリンク&シノニム経由インデ...
-
viewのバックアップ
-
Access レコードを追加できませ...
-
エクセルからアクセスにインポ...
-
DELETE文でFROM句を省略した場合
-
特定のスキーマのテーブルを一...
-
INDEXの無効化
-
oracleのimpdpでORA-39166
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
db2にて数値を3桁文字にて出力...
-
大量データの取得処理について
-
列の既定値を取得したい
-
PL/SQLでテーブル名に変数を使...
-
ACCESSのテーブルを毎日定刻に...
-
ACCESSエラー「制限されたデー...
-
SQLServerのテーブル定義書(?...
-
ACCESS2002のupdateの副問合せ...
-
SQLite C/C++ でのテーブル数...
-
PostgreSQL:ラジオボタンを用い...
-
グループ化したいのですが
-
SQL文のテーブルについて
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
-
datapumpの実行方法について
-
Data Pump で大量データインポ...
-
ACCESS 複数テーブル・複数フィ...
-
Access レコードを追加できませ...
おすすめ情報