Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/08/2014, 13:29
Avatar de gnzsoloyo
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, 4 meses
Puntos: 2658
Respuesta: Problemas con #1241 - Operand should contain 1 column(s)

En principio, ese primer WHERE intenta comparar un determinado valor contra dos valores:
Código MySQL:
Ver original
  1.     `category_id`,
  2.     `category_name`,
  3.     `category_icon`,
  4.     COUNT(`markers_category_id`) AS total
  5.     `category`
  6.     LEFT JOIN markers ON category.category_id = markers.markers_category_id
  7.     `category_id` IN
  8.         (SELECT
  9.             markers_category_id,
  10.             ROUND(((acos(sin((40.367 * pi()/180)) * sin((markers.markers_lat*pi()/180))+cos((40.367 * pi()/180)) * cos((markers.markers_lat*pi()/180)) * cos(((-3.706 - markers.markers_lng) *pi()/180))))*180/pi())*60*1.1515*1609.344) AS distance
  11.        FROM markers
  12.        HAVING distance < 7000)
  13. GROUP BY `category_name`
La subconsulta del IN obtiene dos columnas, una llamada "markers_category_id", y otra "distance".
Eso por lo pronto, pero me parece que no es el único error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)