SQL - SELECT COMBINADO

   
Vista:

SELECT COMBINADO

Publicado por vlg (1 intervención) el 16/11/2007 14:21:58
mi intencion es la siguiente hacer un select que en una columna me muestre un campo en concreto de la tabla y en otra columna el mismo campo pero del registro anterior, yo he llegado hata aqui:

SELECT CodigoArticulo as ex1,
(SELECT codigoarticulo
FROM articulo
WHERE codigoarticulo = ex1) AS ex1
FROM Articulo

Pero claro esto me retorna el mismo codigo en las dos columnas, no se si se puede llegar hacer mediante un select, si no se puede ya se que existe la posibilidad de utilizar cursores, pero mi pregunta es ¿se puede hacer mediante un select?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SELECT COMBINADO

Publicado por _rOmMeL_ (2 intervenciones) el 16/11/2007 16:50:25
Tienes una problema de requerimiento, bueno tu kieres algo asi???

Column 1 Column2
1 ---
2 1
3 2
4 3
5 4
El problema es cuando no EXISTE el registro anterior en el caso del PRIMER registro.

Es mejor que explique bien tu necesidad, asi seria bien facil ayudarte... en todo caso hazlo en 2 consultas, porque habria excepciones :S. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECT COMBINADO

Publicado por vlg (18 intervenciones) el 16/11/2007 19:36:36
Es exactamente igual que el ejemplo que citas

¿se podria llegar hacer con un select?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECT COMBINADO

Publicado por Liliana (20 intervenciones) el 23/11/2007 12:20:02
Hola,
-- SQL Server --
Copia y pega este código en el analizador de consultas, hace lo que necesitas.
La idea es combinar la tabla consigo misma, pero haciendo una operación sobre la clave de uno de los alias.
Saludos,
Liliana.

CREATE TABLE #Test
(cod int PRIMARY KEY)

INSERT #Test
SELECT 1 union SELECT 2 union SELECT 3 UNION SELECT 4

SELECT Codigo1 = T1.Cod, Codigo2 = ISNULL (T2.Cod,0)
FROM #Test T1
LEFT JOIN #Test T2 ON T1.Cod = T2.Cod + 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar