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

Como hacer query que utilice los resultados de un subquery)el subquery tiene UNION)

Estas en el tema de Como hacer query que utilice los resultados de un subquery)el subquery tiene UNION) en el foro de SQL Server en Foros del Web. Hola a todos ... estoy empesando con sql y me he trabado de mala manera , agradeceria muchisimo que me ayudaran, ya de hecho les ...
  #1 (permalink)  
Antiguo 28/05/2008, 16:02
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Como hacer query que utilice los resultados de un subquery)el subquery tiene UNION)

Hola a todos ...
estoy empesando con sql y me he trabado de mala manera , agradeceria muchisimo que me ayudaran, ya de hecho les agradesco...
la cuestion es que quiero sumar dos valores que devuelve este query,
que a su vez son dos sumas...

ya probé kon esta forma: select sum(Precio ) from (el query) , pero tampoco

el query es este, que me pueden sugerir,gracias de antemano

SELECT DISTINCT
Sum(([Cantidad ]*[Renglones Variantes].[Precio])) AS Precio
FROM [Unidades de Obra] ,[Contenido Unidades de Obra],[Renglones Variantes]
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = [Renglones Variantes].[Codigo RV]
UNION
SELECT DISTINCT Sum(([Cantidad ]*[Suministros].[Precio])) AS Precio
FROM [Unidades de Obra],[Contenido Unidades de Obra],Suministros
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = Suministros.Codigo
  #2 (permalink)  
Antiguo 28/05/2008, 16:14
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

Hola.
Puedes hacer algo como

---------Declaras una variable de tabla
declare @mitabla table (precio decimal(19,2))

----------el mismo query lo insertas en la tabla
insert into @mitabla
SELECT DISTINCT
Sum(([Cantidad ]*[Renglones Variantes].[Precio]))
FROM [Unidades de Obra] ,[Contenido Unidades de Obra],[Renglones Variantes]
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = [Renglones Variantes].[Codigo RV]
UNION
SELECT DISTINCT Sum(([Cantidad ]*[Suministros].[Precio]))
FROM [Unidades de Obra],[Contenido Unidades de Obra],Suministros
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = Suministros.Codigo

---------- Haces la suma
select sum(precio) from @mitabla

También, en lugar de declarar una variable tabla, puedes crear una temporal
create table #mitabla (precio decimal(19,2))
y usas el mismo proceso.
Saludos
  #3 (permalink)  
Antiguo 28/05/2008, 16:15
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

Se me olvidaba. Todo, lo tienes que ejecutar a la misma vez.
  #4 (permalink)  
Antiguo 28/05/2008, 16:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

eso ya lo probé, y nada, pero voy a intentarlo de nuevo, a ver si perceverando triunfo
gracias amigo
  #5 (permalink)  
Antiguo 28/05/2008, 16:42
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

sas, también hay otra forma de ponerlo en una temporal


SELECT DISTINCT
Sum(([Cantidad ]*[Renglones Variantes].[Precio])) AS PRECIO INTO ##MITABLA
FROM [Unidades de Obra] ,[Contenido Unidades de Obra],[Renglones Variantes]
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = [Renglones Variantes].[Codigo RV]
UNION
SELECT DISTINCT Sum(([Cantidad ]*[Suministros].[Precio]))
FROM [Unidades de Obra],[Contenido Unidades de Obra],Suministros
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = Suministros.Codigo

Y haces el sum
SELECT SUM(precio) FROM ##MITABLA

orales. Saludos
  #6 (permalink)  
Antiguo 29/05/2008, 06:16
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Busqueda Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

Cita:
Iniciado por LUISCARIBE Ver Mensaje

la cuestion es que quiero sumar dos valores que devuelve este query,
que a su vez son dos sumas...

ya probé kon esta forma: select sum(Precio ) from (el query) , pero tampoco

el query es este, que me pueden sugerir,gracias de antemano

SELECT DISTINCT
Sum(([Cantidad ]*[Renglones Variantes].[Precio])) AS Precio
FROM [Unidades de Obra] ,[Contenido Unidades de Obra],[Renglones Variantes]
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = [Renglones Variantes].[Codigo RV]
UNION
SELECT DISTINCT Sum(([Cantidad ]*[Suministros].[Precio])) AS Precio
FROM [Unidades de Obra],[Contenido Unidades de Obra],Suministros
where [Unidades de Obra].codigo = [Contenido Unidades de Obra].Codigo
and [Contenido Unidades de Obra].[Codigo de RV/Suministro] = Suministros.Codigo
La solucion a tu pregunta es la que posteas. Siempre y cuando el resultado de este query es correcto. Si no lo es, entonces primero hay que arreglar este select y luego hacer la suma con select sum(Precio ) from (el query)

Ahora bien, me llama la atencion que pusiste un distinct en ambos selects del union... eso es correcto?? porque??

Para mayor claridad de lo que requieres puedes postear la estructura de las tablas indicando como se relacionan y tal vez poniendo una entrada de ejemplo y el resultado deseado para esa entrada.

Entre mas especifico seas mas rapido te podran ayudar a encontrar solucion satisfactoria...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 29/05/2008, 06:46
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

el distinct pude estar o no , ademas este query funciona correctamente como consulta en acces, la cosa es en Sql Server , no me pincha
que pasa ,que acces puede usar una consulta como tabla, no se si me explique, es decir , en ves de subquery como es en Sql , el toma la consulta como una tabla y puedes trabajar con esos datos ...es decir , hacerle una consulta a otra consulta
y eso es lo que no me sale en Sql ...lo mas que se me ocurre es hacer un subquery que es esta select Sum(precio) from (query ) y nada
tambien trate de importar la consulta de acces a sql y.. o me da error o me la pasa como una vista

la verdad yo no estoy muy ducho en sql, pero bueno , gracias a la ayuda de ustedes los amigosa del foro he cogido algo, pero me he quedado trabado aqui
de todas formas siguo probando aqui ...cualquier otra sugerencia , porfa, titrenla pa ka
saludos
  #8 (permalink)  
Antiguo 29/05/2008, 07:47
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como hacer query que utilice los resultados de un subquery)el subquery tie

amigos ya me pincho,gracias a todos,..
Saludos
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 06:01.