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

Obtener el valor de una expresión en SELECT anidado

Estas en el tema de Obtener el valor de una expresión en SELECT anidado en el foro de SQL Server en Foros del Web. Buenas, tengo un problema, les planto primero el codigo SQL y abajo de el lo que necesito: Cita: SELECT c.articulo ,c.definicion ,c.unidades ,c.precio ,c.importe ,c.fecha ...
  #1 (permalink)  
Antiguo 03/04/2012, 03:46
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Obtener el valor de una expresión en SELECT anidado

Buenas, tengo un problema, les planto primero el codigo SQL y abajo de el lo que necesito:

Cita:
SELECT c.articulo ,c.definicion ,c.unidades ,c.precio ,c.importe ,c.fecha ,v.articulo ,v.definicion ,v.uniVta ,v.PrecioIva ,v.ImporteIva ,v.Fecha FROM (SELECT empresa,numero,linia ,articulo ,definicion ,SUM(unidades) unidades ,precio ,importe ,fecha FROM dbo.compraPrueba GROUP BY empresa,numero,linia ,articulo ,definicion ,unidades ,precio ,importe ,fecha) c FULL OUTER JOIN (SELECT empresa,numero,linia ,articulo ,definicion ,SUM(uniVta) uniVta ,PrecioIva ,SUM(ImporteIva) ImporteIva ,Fecha FROM dbo.ventaPrueba GROUP BY empresa,numero,linia ,articulo ,definicion ,uniVta ,PrecioIva ,ImporteIva ,Fecha) v ON (c.empresa=v.empresa AND c.numero=v.numero AND c.linia =v.linia)
Por si ayuda, les paso una imagen de lo que me muestra la consulta anterior.
[URL="http://img571.imageshack.us/img571/9797/datosconsulta.png"]Imagen Resultado consulta[/URL]

Lo que me gustaría que se visualizase es:
- La fila 1 y 3 agrupadas, es decir, la columna UNIDADES debería de aparecer 16 en vez de dos tuplas de 8 unidades.
- La fila 6 y 7 debería de agruparse y mostrarse a la derecha de la fila 2.

Los subselect por separado me muestran los datos correctos. También lo he probado con un UNION y no me sirve.

Para que quede mas claro también he subido un excel con algunos datos de mis dos tablas y con el resultado que busco:
[URL="http://www.mediafire.com/?ieg461x9z2v4y16"]http://www.mediafire.com/?ieg461x9z2v4y16[/URL]

Muchas gracias, y perdonar el "tocho".
  #2 (permalink)  
Antiguo 03/04/2012, 08:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Obtener el valor de una expresión en SELECT anidado

ya probaste con un

select campos a sumar o a agrupar from
(
SELECT c.articulo ,c.definicion ,c.unidades ,c.precio ,c.importe ,c.fecha ,v.articulo ,v.definicion ,v.uniVta ,v.PrecioIva ,v.ImporteIva ,v.Fecha FROM (SELECT empresa,numero,linia ,articulo ,definicion ,SUM(unidades) unidades ,precio ,importe ,fecha FROM dbo.compraPrueba GROUP BY empresa,numero,linia ,articulo ,definicion ,unidades ,precio ,importe ,fecha) c FULL OUTER JOIN (SELECT empresa,numero,linia ,articulo ,definicion ,SUM(uniVta) uniVta ,PrecioIva ,SUM(ImporteIva) ImporteIva ,Fecha FROM dbo.ventaPrueba GROUP BY empresa,numero,linia ,articulo ,definicion ,uniVta ,PrecioIva ,ImporteIva ,Fecha) v ON (c.empresa=v.empresa AND c.numero=v.numero AND c.linia =v.linia)
) t1 group by tus campos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: fecha, select, sql, tabla, anidados
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 07:19.