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

Sumar Mas de 1 Campo en una Sola Consulta

Estas en el tema de Sumar Mas de 1 Campo en una Sola Consulta en el foro de SQL Server en Foros del Web. Buenas Tardes! Tengo una duda o mas bien algo que no eh logrado hacer, haber si me podrian hacer el favor de orientarme, conozco poco ...
  #1 (permalink)  
Antiguo 24/03/2010, 18:24
Avatar de hugo180486  
Fecha de Ingreso: septiembre-2007
Mensajes: 199
Antigüedad: 16 años, 7 meses
Puntos: 3
Exclamación Sumar Mas de 1 Campo en una Sola Consulta

Buenas Tardes! Tengo una duda o mas bien algo que no eh logrado hacer, haber si me podrian hacer el favor de orientarme, conozco poco de SQL quizas este muy errado con lo qu eprtendo hacer

Explico con un ejemplo:

Tabla A
Articulo--Cant
100-------500
200-------400
300-------1000
200-------600

Tabla B
Articulo--Cant
100-------500
200-------400
300-------1000
200--------100

Tabla C
Articulo--Cant
100-------500
200-------400
300-------1000
200--------200

Qusiera Obtenr lo siguiente de una consulta

Cant Tabla A------Cant Tabla A------Cant Tabla A
-----1000-------------500----------------600

Los totales de cada tabla cuando el Articulo es el 200

Hice lo siguiente:

SELECT SUM(A.Cant) As Cant A, SUM(B.Cant) As Cant B, SUM(C.Cant) As Cant C
FROM [Tabla A] A
LEFT JOIN [Tabla B] B ON (A.Articulo = B.Articulo)
LEFT JOIN [Tabla C] C ON (A.Articulo = C.Articulo)
WHERE A.Articulo = 200 OR B.Articulo = 200 OR C.Articulo = 200

No se si voy por buen camino, eh intentado varias conbinaciones pero no eh tenifo exito....
  #2 (permalink)  
Antiguo 25/03/2010, 09:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Sumar Mas de 1 Campo en una Sola Consulta

Has probado asi?
Código SQL:
Ver original
  1. SELECT (SELECT SUM(Cant) AS Cant A FROM [Tabla A] WHERE Articulo = 200),
  2.     (SELECT SUM(Cant) AS Cant B FROM [Tabla B] WHERE Articulo = 200),
  3.     (SELECT SUM(Cant) AS Cant C FROM [Tabla C] WHERE Articulo = 200)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 25/03/2010, 10:11
Avatar de hugo180486  
Fecha de Ingreso: septiembre-2007
Mensajes: 199
Antigüedad: 16 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Sumar Mas de 1 Campo en una Sola Consulta

Si efectivamente funciono como me dices, funciono perfectamente, solo tengo una duda, mas que por curiosidad que por otra cosa, sabes por que los alias de las columnas no funcionan?... El siguiente es el codigo probado en el Query Analyzer, me arroja resultados satisfactoerios, pero los Alias no me los pone. Tengo algo mal?

Fuera de eso gracias por la ayuda prestada...

Código SQL:
Ver original
  1. SELECT
  2. (SELECT SUM(OH.Qnty_OnHand) AS On_Hand
  3. FROM [tblInvQnty] OH
  4. WHERE OH.Item = 'M-30004110'),    
  5. (SELECT SUM(IT.InTransit) AS In_Transit
  6. FROM [tblItem_Sop_Cost] IT
  7. WHERE IT.Item = 'M-30004110'),  
  8. (SELECT SUM(E99.Qty) AS Qnty_E99
  9. FROM [tblExpires_In_99] E99
  10. WHERE E99.Item = 'M-30004110'),
  11. (SELECT SUM(E100.Qty) AS Qnty_E100
  12. FROM [tblExpires_100] E100
  13. WHERE E100.Item = 'M-30004110')
  #4 (permalink)  
Antiguo 25/03/2010, 10:28
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Sumar Mas de 1 Campo en una Sola Consulta

Tienes que poner el alias a la subconsulta:
Código SQL:
Ver original
  1. SELECT (<sub consulta>) ALIAS
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 25/03/2010, 11:17
Avatar de hugo180486  
Fecha de Ingreso: septiembre-2007
Mensajes: 199
Antigüedad: 16 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Sumar Mas de 1 Campo en una Sola Consulta

OK Gracias!

Etiquetas: mas, campos
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 03:39.