在子查询中使用select的值



我想构建一个查询,它将在子查询中使用查询参数,如:

SELECT
A.Name,
CASE (SELECT SUM(A.Time) FROM A WHERE A.Name = A.Name)
FROM A

我怎么能做这样的事。需要提到的是,查询将返回多行,对于每一行,我想根据查询中的名称取sum。

这里不需要子查询,使用窗口SUM:

SELECT A.[Name]
CASE SUM(A.[Time]) OVER (PARTITION BY A.[Name]) WHEN ... END AS Something --HOw do you SUM a "time"???
FROM A;

您可以使用分析函数来满足这些要求,但如果您想知道如何在select子句中使用子查询,那么您可以使用alias如下:

SELECT
A.Name,
(SELECT SUM(A.Time) FROM A WHERE t.Name = A.Name) 
FROM A t -- t is the alias

最新更新