Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/12/2012, 03:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consultas anidadas

Primero: Nadie te respondió ayer, entre otras cosas, porque era domingo, y también tenemos algo que debes conocer: Vida familiar.
No puedes pretender soluciones un día así... ¿No te parece?

Segundo: No debes abrir dos threads para un mismo tema. Eso puede conllevar sanciones porque está expresamente prohibido en las políticas de uso. En el mejor de los casos se te borrará uno sin aviso ni advertencias. Yo los he fusionado porque el primer post es más detallado y se entiende mejor.
No lo hagas de nuevo. Ten paciencia (no, cinco horas no son paciencia en un día domingo).

Tercero:
- El primer problema es que SUM() no está definido para tomar datos de una subconsulta, porque una subconsulta puede devolver más de un registro, y SUM opera sobre cada registro. El que esa subconsulta esté devolviendo un único registro es irrelevante para el algoritmo que lo implementa.
- Se pueden producir conflictos de alias. No veo evidencia precisa, pero no se descarta.
- Si ya estás usando la tabla de la subconsulta en la consulta principal, entonces ese valor lo debes conseguir modificando esa consulta, y no inventando una operacion que el SQL no te permite.

Personalmente, y o probaría ponerlo así:
Código MySQL:
Ver original
  1. SUM(IF(v.estado_venta ='1' AND idtipo_venta='2', v.facturado, 0))
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)