SQL - Consulta

   
Vista:

Consulta

Publicado por oscar (39 intervenciones) el 10/03/2010 22:27:44
Buen dia
Tengo la siguiente tabla
Codigo Valor1 Valor2
5 4000 120000
5 3000 120000
5 2100 120000
Debo generar una consulta que el valor 2 me traiga solo una vez el valor, los otros registros en 0 o Nulo
Codigo Valor1 Valor2
5 4000 120000
5 3000 0
5 2100 0
Me pueden colaborar
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:Consulta

Publicado por Leonardo Josue (880 intervenciones) el 11/03/2010 18:16:27
Buenos días Oscar, te pongo dos ejemplos de cómo lograr esto, uno con SQL Server y el otro con Oracle... si utilizas algún otro manejador sería cuestión de que busques algo similar. En Oracle sería así

Select Codigo, Valor1, case when rownum = 1 then Valor2 else 0 end as Valor2 from tabla

Para el caso de SQL Server sería más o menos así.

select Codigo, Valor1, case when Rownum = 1 then Valor2 else 0 end as Valor2 from (
SELECT ROW_NUMBER () OVER (ORDER BY dbo.tabla.Codigo) AS Rownum, dbo.tabla.*
FROM dbo.tabla) A
ORDER BY A.Codigo

OJO, en el caso de SQL Server no existe la función Rownum, por lo que primero se simula esta función, para esto existen muchas otras formas de hacerlo, y como cultura general si te interesa conocer alguna otra forma puedes checar la siguiente página:

http://samsudeenb.blogspot.com/2008/09/how-to-generate-rownum-in-sql-server.html

Saludos y espero que te sirvan los ejemplos.

Leo
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