在下面的SQL语句中,我应该使用DISTINCT,因为我在Where Where子句中有一个Group By?思考?使用不同还是不是
SELECT [OrderUser].OrderUserId, ISNULL(SUM(total.FileSize), 0), ISNULL(SUM(total.CompressedFileSize), 0)
FROM
(
SELECT DISTINCT ProductSize.OrderUserId, ProductSize.FileInfoId,
CAST(ProductSize.FileSize AS BIGINT) AS FileSize,
CAST(ProductSize.CompressedFileSize AS BIGINT) AS CompressedFileSize
FROM ProductSize WITH (NOLOCK)
INNER JOIN [Version] ON ProductSize.VersionId = [Version].VersionId
) AS total RIGHT OUTER JOIN [OrderUser] WITH (NOLOCK) ON total.OrderUserId = [OrderUser].OrderUserId
WHERE NOT ([OrderUser].isCustomer = 1 AND [OrderUser].isEndOrderUser = 0 OR [OrderUser].isLocation = 1)
AND [OrderUser].OrderUserId = 1
GROUP BY [OrderUser].OrderUserId
取决于您之后的结果集。你在做什么? – 2010-06-04 14:08:13
类型的脱离主题,但是必须加入版本JOIN?你似乎没有在任何地方使用它。是否有版本中不存在的ProductSize.VersionId?如果不是的话,你可能会带来多个结果,因为只有连接才能完全不必要地使用DISTINCT再次删除它们。 – 2010-06-04 14:33:53
当你删除DISTINCT时,你会得到不同的结果吗? – HLGEM 2010-06-04 15:00:55