在SQL上使用case选择行作为列

时间:2015-04-22 23:50:34

标签: sql sql-server-2008 case inner-join

我想要实现的是为当前选择添加名称,并将所有突出显示的单元格添加到同一行 SQL RESULTS

现在我用

来达到这个结果
   Select

        CASE sc.Tipo WHEN 1 THEN
                sc.SaldoIni  ELSE 0 END,
        CASE sc.Tipo WHEN 2 THEN
                sc.Importes1 ELSE 0 END,
        CASE sc.Tipo WHEN 3 THEN
                sc.Importes1 ELSE 0 END,
        CASE sc.Tipo WHEN 1 THEN 
                sc.Importes1 ELSE 0 END

        FROM        SaldosCuentas sc

        INNER JOIN  Cuentas c
        ON          
        c.Id = sc.IdCuenta WHERE sc.Ejercicio = 13 and sc.IdCuenta = 131

我如何将所有突出显示的文字放在一行

1 个答案:

答案 0 :(得分:2)

您可以将这些case语句放在SUM函数中,以便查询返回1行。

SUM(CASE sc.Tipo WHEN 1 THEN sc.SaldoIni ELSE 0 END) AS SaldoIni