2

我有2个表如下:

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

我想检索一段时间内与具有客户端 ClientID 的用户关联的所有时间。

例如

与具有客户端 ClientID = 5 和 Time startdate >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 回答