Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta sobre Una sola Tabla

Estas en el tema de Consulta sobre Una sola Tabla en el foro de SQL Server en Foros del Web. Holas Estoy sacando una consulta sobre una misma tabla pero, me da el sgte resultado : A B C D NUMERO 351.20 NULL NULL NULL ...
  #1 (permalink)  
Antiguo 24/03/2010, 11:11
Avatar de WILLIAMGG  
Fecha de Ingreso: febrero-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Consulta sobre Una sola Tabla

Holas
Estoy sacando una consulta sobre una misma tabla pero, me da el sgte resultado :

A B C D NUMERO
351.20 NULL NULL NULL 0000000001
NULL 351.20 NULL NULL 0000000001
NULL NULL 351.20 NULL 0000000001
NULL NULL NULL 351.20 0000000001

La consulta es la sgte

SELECT
case when fase='C' THEN MONTO end AS A,
case when fase='D' THEN MONTO end AS B,
case when fase='G' THEN MONTO end AS C,
case when fase='P' THEN MONTO end AS D,
NUMERO
FROM TABLA
WHERE ANO_EJE='2009'

Lo que necesito es k me muestre en una sola fila..
Gracias por anticipado
  #2 (permalink)  
Antiguo 24/03/2010, 14:05
Avatar de WILLIAMGG  
Fecha de Ingreso: febrero-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Consulta sobre Una sola Tabla

OK, Ya esta
  #3 (permalink)  
Antiguo 24/03/2010, 14:24
Avatar de otreblanc  
Fecha de Ingreso: mayo-2005
Ubicación: Chiapas, la última frontera...
Mensajes: 73
Antigüedad: 19 años
Puntos: 0
Respuesta: Consulta sobre Una sola Tabla

Podrías poner tu solución, para que los que necesitemos lo aprendamos:

Me imagino algo así:

SELECT
sum(case when fase='C' THEN MONTO else 0 end) AS A,
sum(case when fase='D' THEN MONTO else 0 end) AS B,
sum(case when fase='G' THEN MONTO else 0 end) AS C,
sum(case when fase='P' THEN MONTO else 0 end) AS D,
NUMERO
FROM TABLA
WHERE ANO_EJE='2009'
group by numero
  #4 (permalink)  
Antiguo 24/03/2010, 16:47
Avatar de WILLIAMGG  
Fecha de Ingreso: febrero-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Consulta sobre Una sola Tabla

Hola, bueno efectivamente Otreblanc, kedo de esta manera, Gracias

SELECT NUMERO,
SUM(case when fase='C' THEN MONTO end) AS A,
SUM(case when fase='D' THEN MONTO end) AS B,
SUM(case when fase='G' THEN MONTO end) AS C,
SUM(case when fase='P' THEN MONTO end) AS D
FROM TABLA
WHERE ANO_EJE='2009'
group by NUMERO
ORDER BY NUMERO

Etiquetas: tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:45.