algo asi:
Código SQL:
Ver originalCREATE TABLE #temp
(
ciudad VARCHAR(20),
nombre VARCHAR(30)
)
CREATE TABLE #temp2
(
ciudad VARCHAR(20),
nombre VARCHAR(30)
)
INSERT INTO #temp VALUES ('Cartago','Maria Jimenez')
INSERT INTO #temp VALUES ('San Jose','Juan Perez')
INSERT INTO #temp VALUES ('San Jose','Gabriela Alvarado')
INSERT INTO #temp VALUES ('San Jose','Josefina Mora')
INSERT INTO #temp VALUES ('Heredia','-Berta Lopez')
INSERT INTO #temp VALUES ('Heredia','-Cristina Alvarez')
INSERT INTO #temp VALUES ('Alajuela','-Jose Montero')
INSERT INTO #temp VALUES ('Limon','Manuel Fernandez')
INSERT INTO #temp VALUES ('San Jose','Abigail Hidalgo')
DECLARE @x INT
DECLARE @y INT
SELECT @x=MAX(rn) FROM(
SELECT ROW_NUMBER() OVER(partition BY ciudad ORDER BY ciudad DESC) AS rn, ciudad, nombre FROM #temp
) t1
SET @y=1
while @y <= @x
BEGIN
INSERT INTO #temp2
SELECT ciudad,nombre FROM(
SELECT ROW_NUMBER() OVER(partition BY ciudad ORDER BY ciudad DESC) AS rn, ciudad, nombre FROM #temp
) t1 WHERE rn=@y
SET @y=@y+1
END
SELECT * FROM #temp2
resultado:
Alajuela -Jose Montero
Cartago Maria Jimenez
Heredia -Berta Lopez
Limon Manuel Fernandez
San Jose Abigail Hidalgo
Heredia -Cristina Alvarez
San Jose Juan Perez
San Jose Gabriela Alvarado
San Jose Josefina Mora
saludos!