Tema: Consulta SQL
Ver Mensaje Individual
  #5  
Antiguo 16-05-2018
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Reputación: 20
newtron Va camino a la fama
Cita:
Empezado por duilioisola Ver Mensaje
Creo que esta es una versión mas simple y por lo tanto mas "entendible"
  1. Se recorren los registros agrupados por albaran, fecha y articulo.
  2. Dentro de cada registro que se devuelve, se realizan dos subselect que suma de esa misma tabla los registros que correspondan con ese alabran, fecha y articulo.
  3. Un subselect filtra los que el precio son iguales a 0.
  4. El otro subselect filtra los que el precio son distintos de 0.
  5. A cada uno de estas sumas se les asinga un nombre (cant_pr y cant_sin).
  6. Opcionalmente se podría ordenar, pero el group by ya lo hace...
Código SQL [-]select /* Campos agrupados */ v.albaran, v.fecha, v.articulo, /* Suma cantidades con precio 0 dentro del albaran-fecha-articulo */ (select sum(cantidad) from ventaslineas where albaran = v.albaran and fecha = v.fecha and articulo = v.articulo and precio <> 0) as cant_pr, /* Suma cantidades con precio distinto de 0 dentro del albaran-fecha-articulo */ (select sum(cantidad) from ventaslineas where albaran = v.albaran and fecha = v.fecha and articulo = v.articulo and precio = 0) as cant_sin from ventaslineas v group by v.albaran, v.fecha, v.articulo
Gracias compañero.

Saludos
__________________
Be water my friend.
Responder Con Cita