Ver Mensaje Individual
  #12  
Antiguo 04-06-2008
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Reputación: 19
kuan-yiu Va camino a la fama
Yo he probado una consulta chorra y me ha funcionado perfectamente con los paréntesis, es esta pero no creo que te sirva de mucho:
Código SQL [-]
select marca, sum(codigo) from
(
(select 'Blanco' marca,c.dni,s.codigo
from sys_conforta.cliente c, sys_conforta.solicitud s
where c.codigo=s.codigo_cliente and s.puesto_promocion=174 and c.dni is null)
union
(select 'Negro' marca,c.dni,s.codigo
from sys_conforta.cliente c, sys_conforta.solicitud s
where c.codigo=s.codigo_cliente and s.puesto_promocion=174 and c.dni is not null)
)
group by marca

En todo caso yo construiría tu consulta de este modo:
Código SQL [-]
SELECT a.ALMACEN, a.CODIGO, a.DESCRIPC, a.DESCRIPC, Avg(a.Expr1) AS PromedioDeExpr1
FROM 
(
( SELECT alclaart.CODIGO, alclaart.DESCRIPC, alclaart.ALMACEN, alclaume.DESCRIPC,
        (alpreart.IMPORTE/alpreart.EXISTENCIA) AS Expr1
  FROM alclaart, alpreart, alclaume
  WHERE alclaart.ALMACEN="01" and alclaart.CODIGO=alpreart.CODIGO AND 
        alclaart.ALMACEN=alpreart.ALMACEN and alclaart.UMEDIDA_A= alclaume.COD_UM )
UNION 
( SELECT alclaart.CODIGO, alclaart.DESCRIPC, alclaart.ALMACEN, alclaume.DESCRIPC,
    (alpresec.IMPORTE/alpresec.EXISTENCIA) AS Expr1
  FROM alclaart, alclaume, alpresec
  WHERE alclaart.ALMACEN="01" and alclaart.UMEDIDA_A=alclaume.COD_UM and
        alpresec.CODIGO=alclaart.CODIGO AND alclaart.ALMACEN= alpresec.ALMACEN )
) a
GROUP BY a.ALMACEN, a.CODIGO, a.DESCRIPC, a.DESCRIPC;
Responder Con Cita