Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: _CrisiS_ en 18 Febrero 2010, 22:49 pm



Título: Problema con una consulta SQL
Publicado por: _CrisiS_ en 18 Febrero 2010, 22:49 pm
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?


Título: Re: Problema con una consulta SQL
Publicado por: Shell Root en 18 Febrero 2010, 22:55 pm
Tienes un ( demás. Mirad
Código
  1. SELECT t.CODPRO, t.DESPRO, t.CODLAB, a.DESLAB, t.PRISAL , /*Aqui*/  (  /*Aqui*/ (t.PRISAL -(t.PRISAL / t.DTOPRO)*100) AS PRECIO_TOTAL
  2. FROM surf10 t, surffa a
  3. WHERE t.codlab = a.codlab

ó Intentad:
Código
  1. SELECT surf10.CODPRO,
  2. surf10.DESPRO,
  3. surf10.CODLAB,
  4. surffa.DESLAB,
  5. surf10.PRISAL,
  6. (t.PRISAL -(t.PRISAL / t.DTOPRO)*100) AS PRECIO_TOTAL
  7. FROM surf10 INNER JOIN surffa
  8. WHERE surf10.codlab = surffa.codlab


Título: Re: Problema con una consulta SQL
Publicado por: _CrisiS_ en 18 Febrero 2010, 23:38 pm
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

Código:
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