Welcome to Sign in | Help

Re: intrebari/raspunsuri de pe la interviuri

  •  05-28-2007, 5:10 PM

    Re: intrebari/raspunsuri de pe la interviuri

    CREATE TABLE T (

    ID INT IDENTITY PRIMARY KEY,

    ORAS NVARCHAR(40) NOT NULL,

    CLIENT NVARCHAR(40) NOT NULL,

    TOTAL INT NOT NULL

    )

    GO

    INSERT INTO T(ORAS, CLIENT, TOTAL)

    SELECT 'Brasov','Client1',500

    UNION ALL

    SELECT 'Bucuresti','Client2',300

    UNION ALL

    SELECT 'Brasov','Client3',250

    UNION ALL

    SELECT 'Constanta','Client1',370

    UNION ALL

    SELECT 'Brasov','Client4',250

    UNION ALL

    SELECT 'Brasov','Client5',550

    UNION ALL

    SELECT 'Brasov','Client6',150

    GO

    DECLARE @REZ TABLE (

    ORAS NVARCHAR(40) NOT NULL,

    CLIENTI NVARCHAR(120) NULL)

    INSERT INTO @REZ (ORAS,CLIENTI) SELECT DISTINCT ORAS,'' FROM T

    DECLARE @CLIENTI NVARCHAR(140)

    SET @CLIENTI=''

    DECLARE @ORAS NVARCHAR(40), @CLIENT NVARCHAR(40)

    DECLARE CURS CURSOR FOR (

    SELECT ORAS, CLIENT

    FROM T X

    WHERE ID IN (

    SELECT TOP 3 ID

    FROM T Z

    WHERE X.ORAS=Z.ORAS

    ORDER BY TOTAL DESC)

    )

    OPEN CURS

    FETCH NEXT FROM CURS INTO @ORAS, @CLIENT

    WHILE @@FETCH_STATUS=0

    BEGIN

    UPDATE @REZ SET CLIENTI=CLIENTI+@CLIENT+'; ' WHERE ORAS=@ORAS

    FETCH NEXT FROM CURS INTO @ORAS, @CLIENT

    END

    CLOSE CURS

    DEALLOCATE CURS

    SELECT * FROM @REZ


    Cătălin D.
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems