如何从不同的表中检索数据

lea*_*ing 2 sql

我有2个表如下:

Time: ID, UserID, start, End
User: ID, ClientID
Run Code Online (Sandbox Code Playgroud)

我想检索与具有客户端ClientID一段时间的用户相关的所有时间.

例如

与客户端ClientID = 5和Time startdate> 15/12/12 Table Time值相关联的时间

1, 3, 17/12/12 , 18/12/12
2, 5, 16/12/12 , 18/12/12
3, 4, 19/12/12 , 20/12/12
Run Code Online (Sandbox Code Playgroud)

表用户值

1, 4
2, 3
3, 5
4, 5
Run Code Online (Sandbox Code Playgroud)

结果应该是:

1, 3 17/12/12 , 18/12/12
3, 4, 19/12/12 , 20/12/12
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现上述目标?

sge*_*des 5

我想你需要使用INNER JOIN:

SELECT *
FROM Time T
    INNER JOIN User U ON T.UserId = U.Id
WHERE U.ClientId = @ClientId
Run Code Online (Sandbox Code Playgroud)

这里有一些小提琴:http://www.sqlfiddle.com/#!3/edc4b/3

祝好运.