Sql 查询以返回特定表列中的所有值

Sql 查询以返回特定表列中的所有值,sql,tsql,Sql,Tsql,下面的查询返回一年中所有组的somatory 如何返回IND_GRUPO中存在但按月份分组的所有组,如果当前月份不存在组,则应显示名称,但somatory将为0。应保留所有连接 SELECT SUM(p.valor), c.nm_grupo, c.cd_grupo, YEAR(p.dt_emissao) FROM ind_receita p JOIN ind_equipto o ON p.cd_equipto = o.cd_equipto JOIN ind_grupo c ON o.cd_gru

下面的查询返回一年中所有组的somatory

如何返回IND_GRUPO中存在但按月份分组的所有组,如果当前月份不存在组,则应显示名称,但somatory将为0。应保留所有连接

SELECT SUM(p.valor), c.nm_grupo, c.cd_grupo, YEAR(p.dt_emissao)
FROM ind_receita p
JOIN ind_equipto o ON p.cd_equipto = o.cd_equipto
JOIN ind_grupo c ON o.cd_grupo = c.cd_grupo
WHERE YEAR(p.dt_emissao) = YEAR(GETDATE())
GROUP BY YEAR(p.dt_emissao), c.nm_grupo, c.cd_grupo
ORDER BY 1 DESC
试试这个:

SELECT c.nm_grupo, c.cd_grupo, YEAR(GETDATE()),
    (SELECT SUM(p.valor)
    FROM ind_receita p
    JOIN ind_equipto o ON p.cd_equipto = o.cd_equipto
    JOIN ind_grupo c2 ON o.cd_grupo = c2.cd_grupo
    WHERE c2.cd_grupo = c.cd_grupo
    AND YEAR(p.dt_emissao) = YEAR(GETDATE())) AS valor
FROM ind_grupo c

很好,我试着用CTE得到结果,但是你的方法太远了better@Lucas_Santos:好的,祝你有愉快的一天;