2

私は次のように2つのテーブルを持っています:

Time: ID, UserID, start, End
User: ID, ClientID

一定期間、クライアントClientIDを持つユーザーに関連付けられているすべての時間を取得したいと思います。

例えば

クライアントClientID=5およびTimestartdate>15/12/12のユーザーに関連付けられた時間テーブル時間の値

1, 3, 17/12/12 , 18/12/12
2, 5, 16/12/12 , 18/12/12
3, 4, 19/12/12 , 20/12/12

テーブルユーザー値

1, 4
2, 3
3, 5
4, 5

結果は次のようになります。

1, 3 17/12/12 , 18/12/12
3, 4, 19/12/12 , 20/12/12

どうすれば上記を達成できますか?

4

3 に答える 3

5

私はあなたが使用する必要があると思いますINNER JOIN

SELECT *
FROM Time T
    INNER JOIN User U ON T.UserId = U.Id
WHERE U.ClientId = @ClientId

ここにあなたのためのいくつかのフィドルがあります:http ://www.sqlfiddle.com/#!3/edc4b/3

幸運を。

于 2013-02-08T06:32:14.167 に答える
0

これを試して、

select * from time t, user u
where t.id = u.id
and u.ClientID = 5;
于 2013-02-08T06:36:06.390 に答える
0

私はあなたが何を言おうとしているのか正確にはわかりませんが、要件は私にはかなり単純に見えます

select t.* from User u, Time t where u.id = t.userid and u.clientid= ?
于 2013-02-08T06:37:24.013 に答える