|
Re: intrebari/raspunsuri de pe la interviuri
-
05-28-2007, 5:10 PM |
|
-
katalyn
-
-
-
Joined on 09-20-2006
-
Bucureşti
-
sysadmin
-
-
|
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
|
|
|