【发布时间】:2010-02-24 14:38:15
【问题描述】:
缩短以下 SQL 代码段的最佳方法是什么:
SELECT a.ViewCount, b.DateCreated
FROM (SELECT COUNT(*) AS ViewCount
FROM UserViewHistory uvh1
WHERE (UserID = @UserID) AND (ViewedByUserID = @RequestingUserID)) AS a,
(SELECT TOP (1) DateCreated
FROM UserViewHistory uvh2
WHERE (UserID = @UserID) AND (ViewedByUserID = @RequestingUserID)
ORDER BY DateCreated DESC) b
查询的想法是拉最后查看日期以及总查看次数 - 它按原样工作,但我想知道是否有更好的方法?
提前致谢。
【问题讨论】:
-
好吧,如果我是你,我会停止使用隐式连接语法,因为这是一种非常糟糕的做法,并且可能导致意外的交叉连接。自 1992 年以来,显式连接语法一直是标准,现在是时候停止使用这种糟糕的语法了。