Problema con una consulta SQL

Iniciado por _CrisiS_, 18 Febrero 2010, 22:49 PM

0 Miembros y 1 Visitante están viendo este tema.

_CrisiS_

hola amigos tengo un problemita con la siguiente consulta

donde los campos que trabajo son:
PRISAL => PRECIO
DTOPRO => es un campo numericoen la tabla, pero se le debe trabajar como porcentaje
PRECIO_TOTAL => Es el campo  que se operaria asi: PRECIO-Porcentaje para que salga el total


SELECT t.CODPRO, t.DESPRO, t.CODLAB, a.DESLAB, t.PRISAL , ((t.PRISAL -(
t.PRISAL / t.DTOPRO)*100) AS PRECIO_TOTAL
FROM surf10 t, surffa a
WHERE t.codlab = a.codlab


pero me marca un error y eh tratado de aserle unos cambios pero sin resultados
mi sintaxis esta mal o que problema ay?

Shell Root

#1
Tienes un ( demás. Mirad
Código (sql) [Seleccionar]
SELECT t.CODPRO, t.DESPRO, t.CODLAB, a.DESLAB, t.PRISAL , /*Aqui*/  (  /*Aqui*/ (t.PRISAL -(t.PRISAL / t.DTOPRO)*100) AS PRECIO_TOTAL
FROM surf10 t, surffa a
WHERE t.codlab = a.codlab


ó Intentad:
Código (sql) [Seleccionar]
SELECT surf10.CODPRO,
surf10.DESPRO,
surf10.CODLAB,
surffa.DESLAB,
surf10.PRISAL,
(t.PRISAL -(t.PRISAL / t.DTOPRO)*100) AS PRECIO_TOTAL
FROM surf10 INNER JOIN surffa
WHERE surf10.codlab = surffa.codlab
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

_CrisiS_

Gracias amigo, aunque el resultado que salia no era el que yo queria, pero todo se debia a mi problema de logica con el bendito porcentaje X)
Pero aqui para los que aigan tenido mi mismo problema les dejo el codigo con un pequeño agregado para redondear a 2 decimales

SELECT t.CODPRO, t.DESPRO, t.CODLAB, a.DESLAB, t.PRISAL , ROUND((t.PRISAL-((t.DTOPRO * t.PRISAL) / 100)),2) AS PRECIO
FROM surf10 t, surffa a
WHERE t.codlab = a.codlab


En que redondea a la cantidad que deseamos de decimales es : ROUND((campo),2)

Se agregadece por tu ayuda amigo.  :D