我通过创建两个查询填充了一个表。第一个将 2 列的不同组合提取到临时表中。第二个在临时表上与另一个进行左连接。以下是查询:
SELECT DISTINCT Name, ID
INTO #tmpID
FROM Staging.Name
SELECT *
FROM Perf.Hours w
LEFT JOIN #tmpID wr ON w.Name = wr.Name
我想创建一个查询来确认 Perf.Hours 表的计数是否正确。当我分别运行上述 2 个查询时,Staging.Name 中的计数与 Perf.Hours 表中的计数相匹配。我正在努力创建一个查询而不必创建 tmp 表。有任何想法吗?
这是我最近的尝试:
SELECT count(*)
from (
SELECT DISTINCT Name, ID
FROM Staging.Name
LEFT JOIN Perf.Hours wr ON w.Name = wr.Name
) AS Staging
但计数根本不匹配。
您可以将第一个组合为“表表达式”。例如:
SELECT count(*)
FROM Perf.Hours w
LEFT JOIN (
SELECT DISTINCT Name, ID
FROM Staging.Name
) wr ON w.Name = wr.Name
您还可以将它们组合起来,将第一个视为 CTE(公用表表达式),如下所示:
with
wr as (
SELECT DISTINCT Name, ID
FROM Staging.Name
)
SELECT count(*)
FROM Perf.Hours w
LEFT JOIN wr ON w.Name = wr.Name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句