アプリ版:「スタンプのみでお礼する」機能のリリースについて

uidを使い回すシステムのログにおいて、ログの各行において、直近にログインしたnameを表示したいのですが、どのようなSELECT文にすれば良いのかご教示願います。

loginテーブル
ltimeuidname
2009/12/10 8:10:00 101aaa
2009/12/10 8:20:00 102bbb
2009/12/10 8:30:00 101ccc
2009/12/10 8:40:00 102ddd

logテーブル
atimeuidcommand
2009/12/10 8:11:00 101insert
2009/12/10 8:12:00 101select
2009/12/10 8:21:00 102update
2009/12/10 8:33:00 101update
2009/12/10 8:45:00 102insert
2009/12/10 8:45:00 101select

検索結果
atimeuidcommandname
2009/12/10 8:11:00 101insertaaa
2009/12/10 8:12:00 101selectaaa
2009/12/10 8:21:00 102updatebbb
2009/12/10 8:33:00 101updateccc
2009/12/10 8:45:00 102insertddd

A 回答 (1件)

下記でどうでしょうか。


SELECT
A.*,
(SELECT TOP 1 name FROM login B
WHERE B.uid = A.uid AND ltime <= atime
ORDER BY ltime DESC) AS name
FROM log A;
    • good
    • 0
この回答へのお礼

素晴らしい。3日間JOINでできないか四苦八苦していたのに...
感動です。ありがとうございました。

お礼日時:2009/12/16 08:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!