table A
A_No, 社員番号, 住所
1 ,0001,'東京都'
2 ,0002,'神奈川県'
3 ,0003,'千葉県'
table B
B_No,社員番号,履歴番号,日付
1,0001,1,2008/09/11
2,0001,2,2008/09/11
3,0002,1,2008/09/05
4,0002,2,2008/09/11
上記のようなtable A, tableBがあるとします。
社員ごとに今日日付で最小の履歴番号を持つB_Noを取得したいのです。
上記で言えば、今日が2008/09/11 だとして社員0001は
最小履歴番号 1 、社員0002は最小履歴番号 2 の
B_Noを取得したいのです。
ただし、フレームワークの仕様によりgroup byが使えません・・・。
なにかいい案はありますか?
どなたか助けてください!
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
何が使えて何が使えないか判らないのですが・・
結合を使うなら・・
select
a.社員番号,
(select min(履歴番号) from tableB b where a.社員番号=b.社員番号 and b.日付>=trunc(sysdate,'dd')) 履歴番号
from tableA a
;
結合を使いたくない、TableBだけでやりたいなら・・
select 社員番号,履歴番号
from
(
select b.*,row_number() over(partition by 社員番号 order by 履歴番号) R
from tableB
where 日付>=trunc(sysdate,'dd')
)
where R=1
;
No.2
- 回答日時:
GROUP BYが使えないというのは文字通りの意味と解していいのですか?
(=GROUP BYの文字がなければよい。集計関数は使ってもよい)
SELECT * FROM TableB s
WHERE s.日付=(指定した日付)
AND 履歴番号 IN (SELECT MIN(履歴番号) FROM TableB WHERE 社員番号=s.社員番号 AND 日付=s.日付)
MINもだめなら、ROWNUMでやるしかないですが。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 会社・職場 詳しい方教えてください。 なぜかコメントすることができないので、コメントしてくださったかたにはいいね 1 2022/12/29 08:04
- 金銭トラブル・債権回収 弁護士会照会で銀行の取引履歴を照会する事は出来るのでしょうか。 5 2023/02/13 15:53
- 確定申告 税務調査について 6 2022/08/16 22:21
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- iPhone(アイフォーン) LINEの引き継ぎ、違う端末での電話番号変更 2 2023/01/21 19:21
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- アルバイト・パート アルバイトの面接をしたのですが、履歴書に電話番号を書く場所がなくて、面接の時履歴書をコピーしたのです 1 2023/05/29 21:04
- 会社・職場 今すぐ回答求む! 0 2022/12/29 07:46
- その他(ネットショッピング・通販・ECサイト) PayPayフリマの中身違いで話し合いが平行線なので 3 2023/01/09 13:36
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
Order by句でバインド変数を使...
-
SQL 特定のカラムが最大値のレ...
-
沿線コード
-
CREATE テーブルでの複数外部...
-
Excelファイルのデータをテーブ...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
SELECTで1件のみ取得するには?
-
select句副問い合わせ 値の個...
-
ファイル書込みで一行もしくは...
-
GROUP BYを使ったSELECT文の総...
-
OracleのSQL*PLUSで、デー...
-
他のテーブルを参照した値はupd...
-
Accessで別テーブルの値をフォ...
-
SQL文で右から1文字だけ削除す...
-
ADO VBA 実行時エラー3021
-
Excelでセルの書式設定を使用し...
-
キーが同じを複数行を1行にま...
-
カレントレコードが無い事を判...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
CREATE テーブルでの複数外部...
-
Order by句でバインド変数を使...
-
沿線コード
-
SQLServer 日付が直前のレコー...
-
Excelファイルのデータをテーブ...
-
10営業日前の日付を取得したい...
-
SQLの実行結果が異なる
-
SQLに関して
-
【SQL】またぎデータの検索の仕方
-
SQLにて縦を横へ展開
-
ヤマト急便のチェックデジット...
-
スペシャリストの方! 助けてく...
-
SQL GROUP BY
-
娘の学校から出た暗号解読です...
-
SQLで<>を使用するとき、
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
おすすめ情報