【发布时间】:2011-01-21 05:51:05
【问题描述】:
今天在工作中,我们讨论了哪种方式是进行这样的查询的最佳方式:
例如让我们假设一个用户表:
tblUsers
ID = Autoint
Name = String
还有一个登录表:
tblLogin
ID = AUtoint
UserID = Int
IP = String
Browser = String
OS = String
timestamp = DateTime
列出所有用户和他们最后一次登录(如果有的话)的最有效方法是什么,并提供如下输出:
user | ip | timestamp | browser | os |
-------------------------------------------------
Some User |1.1.1.1 | 12/12/12 | userBA | win |
Other User |1.1.1.1 | 12/12/12 | userBA | win |
And Other |null | null | null | null |
Other Yet |1.1.1.1 | 12/12/12 | userBA | win |
请记住,我们想要在这里只显示所有用户一次,即使他从未登录过,并且只显示最近一次登录(即 max(timestamp))。
有没有办法在一条 SQL 语句中做到这一点?
我们使用的是 MSSQL 2005。
在此先感谢大家,吉姆
【问题讨论】:
标签: sql sql-server-2005 tsql join