Welcome to Sign in | Help
in Search

CASE in functii Agregat

Last post 01-18-2007, 3:26 PM by ggciubuc. 3 replies.
Sort Posts: Previous Next
  •  01-17-2007, 3:23 PM 1542

    CASE in functii Agregat

    Am incercat sa fac ceva de genu (Sql Server 2000):

    SELECT Sum( T.Col_x * (CASE WHEN T.Col_Y = 1 THEN 1000 ELSE 1 END)) FROM Table T insa se pare ca nu functioneaza ...

    Intrebarea e: Functioneaza CASE in functiile agregat in Sql Server 2000? daca nu exista ceva alternativa fara sa fac Sum() de mai multe Sum-uri?

  •  01-17-2007, 4:08 PM 1545 in reply to 1542

    Re: CASE in functii Agregat

    Cryogenic1981:

    ...insa se pare ca nu functioneaza ...

    ...ce se intampla mai exact? Obtii vreun mesaj de eroare?

    ** tocmai am incercat SELECT-ul (ce-i drept pe SQL 2005) si pare OK...

     

  •  01-17-2007, 6:19 PM 1546 in reply to 1545

    Re: CASE in functii Agregat

    Merge si pe 2000. Tocmai am testat pe serverul din spatele RoSQL (un SQL Server 2000) urmatorul cod:

    USE tempdb;
    GO
    CREATE TABLE T(I INT, COL_X INT, COL_Y INT);
    GO
    INSERT INTO T(I,COL_X,COL_Y) VALUES (1,2,1);
    INSERT INTO T(I,COL_X,COL_Y) VALUES (2,3,2);
    INSERT INTO T(I,COL_X,COL_Y) VALUES (3,4,1);
    INSERT INTO T(I,COL_X,COL_Y) VALUES (4,5,2);
    INSERT INTO T(I,COL_X,COL_Y) VALUES (5,6,1);
    GO


    SELECT SUM( T.Col_x * (CASE WHEN T.Col_Y = 1 THEN 1000 ELSE 1 END))
    FROM T

    -- Rezultat 12008


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  01-18-2007, 3:26 PM 1554 in reply to 1542

    Re: CASE in functii Agregat

    O alta rezolvare/demonstratie pe site-ul nostru aici.

     


    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems