下面我有两个表#temp和#temp2.
create table #temp
(
col1 int
)
insert into #temp values(6),(1),(2),(3),(null)
create table #temp2
(
col1 int
)
insert into #temp2 values(1),(2),(1),(2),(3),(null)
Run Code Online (Sandbox Code Playgroud)
我也有以下两个问题:INNER JOIN:
SELECT t1.col1,
Sum(t2.col1) AS col1
FROM #temp t1
INNER JOIN #temp2 t2
ON t1.col1 = t2.col1
GROUP BY t1.col1
Run Code Online (Sandbox Code Playgroud)
结果:
col1 col1
1 2
2 4
3 3
Run Code Online (Sandbox Code Playgroud)
第二个查询是
随着交叉申请:
SELECT *
FROM #temp t1
CROSS apply (SELECT Sum(col1) AS col1
FROM #temp2 t2
WHERE t1.col1 = t2.col1) A
Run Code Online (Sandbox Code Playgroud)
结果:
col1 col1
1 2
2 …Run Code Online (Sandbox Code Playgroud)