Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] consulta con decimales

Estas en el tema de consulta con decimales en el foro de Mysql en Foros del Web. Hola. Mirad, tengo esta consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT ( acos ( sin ( radians ( 40.464419 ) ) * sin ( ...
  #1 (permalink)  
Antiguo 02/11/2014, 13:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
consulta con decimales

Hola. Mirad, tengo esta consulta:

Código MySQL:
Ver original
  1. SELECT (acos(sin(radians(40.464419)) * sin(radians(coordenadas.latitud)) +
  2. cos(radians(40.464419)) * cos(radians(coordenadas.latitud)) *
  3. cos(radians(-3.650549) - radians(coordenadas.longitud))) * 6378) as
  4. distanciaPunto1Punto2, sitio from coordenadas
Que me devuelve estos resultados
0.2213322455080491 Rotonda del parque
0.15501953238956406 Alni
0.17211035031630065 Bbv
0.2310978262247634 Chino
0.32324656449149625 Mercado Grande
0.4450030212194723 Academia policia

Si a la consulta le añado esto
Código MySQL:
Ver original
  1. WHERE 'distanciaPunto1Punto2' <= 0.200;
Me sigue devolviendo los mismos registros, cuando y creía que solo debería devolverme los registros 2 y 3.
A ver si me podeis ayudar, por favor.
Gracias.
  #2 (permalink)  
Antiguo 02/11/2014, 17:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: consulta con decimales

1) Los nombres de campos, tablas o alias no se ponen entre apostrofos ('), sino entre acentos agudos (`). No es lo mismo.
2) No puedes usar el alias de una columna en el WHERE del mismo SELECT donde lo creas. Para funcionar ese WHERE tendría que estar en la consulta externa de una subconsulta.
Código MySQL:
Ver original
  1. SELECT  distanciaPunto1Punto2,
  2.         sitio
  3.         (ACOS(
  4.             SIN(RADIANS(40.464419)) *
  5.             SIN(RADIANS(coordenadas.latitud))
  6.         + COS(RADIANS(40.464419))
  7.             * COS(RADIANS(coordenadas.latitud)) *
  8.             COS(RADIANS(- 3.650549)
  9.             - RADIANS(coordenadas.longitud))) * 6378)  distanciaPunto1Punto2,
  10.         sitio
  11.     FROM
  12.         coordenadas) T1
  13. WHERE distanciaPunto1Punto2 <= 0.200;

o bien:
Código MySQL:
Ver original
  1.     (ACOS(
  2.         SIN(RADIANS(40.464419)) *
  3.         SIN(RADIANS(coordenadas.latitud))
  4.     + COS(RADIANS(40.464419))
  5.         * COS(RADIANS(coordenadas.latitud)) *
  6.         COS(RADIANS(- 3.650549)
  7.         - RADIANS(coordenadas.longitud))) * 6378)  distanciaPunto1Punto2,
  8.     sitio
  9.     coordenadas
  10.             SIN(RADIANS(40.464419)) *
  11.             SIN(RADIANS(coordenadas.latitud))
  12.         + COS(RADIANS(40.464419))
  13.             * COS(RADIANS(coordenadas.latitud)) *
  14.             COS(RADIANS(- 3.650549)
  15.             - RADIANS(coordenadas.longitud))) * 6378) <= 0.200;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/11/2014, 03:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: consulta con decimales

Muchas Gracias por tu respuesta. Me ha servido perfectamente y me ha quedado muy claro. Te lo agradezco.

Etiquetas: registro, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.