SQL - Usar en sql valores calculados en la misma consulta

 
Vista:

Usar en sql valores calculados en la misma consulta

Publicado por jorge (3 intervenciones) el 14/09/2011 19:27:09
Buenas;

Tengo la siguiente consulta que esta correcta pero necesito lo siguiente:

Tengo que restar al TotalIva, el iva4 e iva8 para que me de el iva18 en esta misma consulta, es decir, usar los campos que he calculado en las anteriores select

$sqlTxt="SELECT rp.pedId as Id, rp.pedFacNum as Numero, rp.pedNumero as Pedido,
cuw.usuContacto as Cliente,
cuw.usuEmpresa as Empresa,
cd.dirDireccion as dirFacturacion,
cd.dirCP as dirCP,
cd.dirPoblacion as poblacion,
cd.dirProvincia as provincia,
cuw.usuDNI as dni,
rp.pedFacFec as Fecha,
rp.pedTotal As Total,
rp.pedBaseImpo As BaseImponible,
rp.pedTotalIVA As TotalIva,
lis1.lisNombre_es as Estado,
rp.pedFechaPago FechaPago,
(Select SUM(detTotal*detIVA)/100 from tblregpedidodetalles where detIDPed=rp.pedId AND detIVA='4') iva4,
(Select SUM(detTotal*detIVA)/100 from tblregpedidodetalles where detIDPed=rp.pedId AND detIVA='8') iva8
FROM tblregpedidos rp LEFT JOIN tblcfgusuweb cuw ON rp.pedidusu=cuw.usuId
INNER JOIN tblmaelistas AS lis1 ON rp.pedEstado = lis1.lisNumero
INNER JOIN tblmaelistas AS lis2 ON lis1.lisgrupo=lis2.lisid
INNER JOIN tblcfgdirecciones cd ON cuw.usuIDDirFac=cd.dirId
WHERE rp.pedFacNum <> '0' AND NOT ISNULL(rp.pedFacFec) AND lis2.lisnombre_es='estados'";


Espero me puedan ayudar.

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Usar en sql valores calculados en la misma consulta

Publicado por jams (16 intervenciones) el 14/09/2011 21:59:05
solo debes agregar un campo mas de la sigueinte manera despues de iva8

rp.pedTotalIVA - (Select SUM(detTotal*detIVA)/100 from tblregpedidodetalles where detIDPed=rp.pedId AND detIVA='4') - (Select SUM(detTotal*detIVA)/100 from tblregpedidodetalles where detIDPed=rp.pedId AND detIVA='8') As Iva18


debes repetir el mismo calculo de ambos campos calculados porque no puedes hacerreferencia directamente a ellos dado que los estan calculando en el tiempo de la ejecucion.

Saludos y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Usar en sql valores calculados en la misma consulta

Publicado por jorge (3 intervenciones) el 14/09/2011 22:50:09
Buenas Jams;

Todo perfecto, me has sido0 de gran ayuda. El calculo no me sale en caso de que alguna de las sql de 0 pero así puedo avanzar.

Muchas gracias por tu ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Usar en sql valores calculados en la misma consulta

Publicado por jorge (3 intervenciones) el 15/09/2011 00:02:48
Buenas de nuevo;

Ya esta solucionado también lo otro, el tema es que no me daba 0 sino NULL. Lo he corregido con COALASE().

Gracias por la ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar