【发布时间】:2021-05-08 04:28:04
【问题描述】:
我正在尝试左连接两个表并从表一个中检索所有列,但根据一组列删除重复项。
SELECT A.*, B.impact
FROM #Site_one AS A WITH (NOLOCK)
LEFT JOIN #Progress AS B With (NOLOCK)
ON lower(A.site_code) = lower(B.site_code)
GROUP BY A.date, A.operationid, A.worklocation, A.siteid, A.alias
这不起作用,因为 A 中的列需要聚合或添加到 group by 子句中。问题是我不想过滤这些列,也不希望它们聚合。
有没有办法选择 A 中的所有列和 B 中的影响列,并且仍然能够过滤掉 group by 子句中指定的列上的重复项?
任何指针/帮助将不胜感激。
【问题讨论】:
-
MySQL 还是 SQL Server?请删除多余的标签。请显示示例数据和预期结果(格式文本)。
-
停止使用nolock 溅射您的代码。在没有意义的本地临时表上。
标签: sql sql-server tsql duplicates distinct