2017-08-24 4 views
-2

を選択するには:どのように私はテーブルUSERをHAVA最近の日付項目

select t.* from user t; 
uid uname 
1 tom 
2 jim 
3 bob 
4 lily 

とテーブルTOYS

select t.* from toys t; 
tid uid tdate 
1 1 7/12/15 
2 1 6/12/15 
3 2 9/12/15 
4 2 10/12/15 
5 3 12/12/15 

今私は何をすべき

uid tid uname tdate 
1 2  tom 6/12/15 
2 3  jim 9/12/15 
3 5  bob 12/12/15 
4   lily 

をしたいですか? (私はOracleデータベースを使用します)。あなたは、各ユーザーのためのシーケンスを生成し、唯一引き戻すことができ

SELECT a.uid, b.tid, a.uname, MAX(b.tdate) 
FROM user a LEFT JOIN toys b ON a.uid = b.uid 
GROUP BY a.uid, a.uname 
+0

おもちゃを日付順または最新のおもちゃのみのユーザーでソートする? – Roman

+0

の日付が – wkzq

答えて

0

:ユーザーあたり

SELECT a.uid, b.tid, a.uname, MAX(b.tdate) AS tdate 
FROM user a LEFT JOIN toys b ON a.uid = b.uid 
GROUP BY a.uid, b.tid, a.uname 

や最新のおもちゃ(もしあれば):おもちゃやユーザごと

+0

あなたは正しいと思いますが、間違った書き込みをしています。 – wkzq

0

最新tdate各おもちゃの最小日付:

+0

の場合、このsqlは実行できません – wkzq

関連する問題