<Aテーブル>
ログインID(主キー)
氏名
適用開始日
適用終了日
履歴番号
<Bテーブル>
ログインID(主キー)
氏名
適用開始日
適用終了日
上記のようなテーブル2つから「Aテーブルの履歴番号が最新のデータとBテーブルのデータ」をSELECTしたいです。
以下イメージ。
<Aテーブルデータ>
ログインID 氏名 適用開始年 適用終了日 履歴番号
1 Aさん 1990 2000 1
1 Aさん 2000 2010 2
2 Bさん 2000 2010 2
<Bテーブルデータ>
ログインID 氏名 適用開始年 適用終了日 履歴番号
3 Cさん 1990 2000 1
<取得結果>
1 Aさん 2000 2010 2
2 Bさん 2000 2010 2
3 Cさん 1990 2000 1
UNIONで取得しようとすると列番号が合わないいけないため、エラーとなってしまいます。
解決方法を教えていただきたいです。
<試したコード>
SELECT , UA.LOGIN_ID AS "LOGIN_ID" , UA.USER_NAME AS "USER_NAME" , UA.START_DATE AS "START_DATE" , UA.END_DATE AS "END_DATE" , UA.RIREKI_NUMBER AS "RIREKI_NUMBER " FROM USER_AUTH UA WHERE NOT EXISTS ( SELECT * FROM USER_AUTH B WHERE UA.USER_ID = B.USER_ID AND UA.RIREKI_NUMBER < B.RIREKI_NUMBER ) UNION ALL SELECT , UAP.LOGIN_ID AS "LOGIN_ID" , UNP.USER_NAME AS "USER_NAME" , UAP.START_DATE AS "START_DATE" , UAP.END_DATE AS "END_DATE" FROM USER_AUTH_PLAN UAP WHERE 1 = 1
回答2件
あなたの回答
tips
プレビュー