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

Error en INNER JOIN

Estas en el tema de Error en INNER JOIN en el foro de Mysql en Foros del Web. Estoy intentando lanzar una subconsulta dentro de un select pero me da un fallo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT         ...
  #1 (permalink)  
Antiguo 08/10/2013, 03:35
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 16 años, 3 meses
Puntos: 0
Error en INNER JOIN

Estoy intentando lanzar una subconsulta dentro de un select pero me da un fallo.
Código MySQL:
Ver original
  1.                 .....
  2.                (SELECT h1.timestamp
  3.                         FROM historico  h1
  4.                         INNER JOIN (
  5.                                                 SELECT idcontacto,MIN(idhistory) as idhistory
  6.                                                 FROM historico  h
  7.                                                 WHERE h.idcontacto=hm.idcontacto) AS h2 ON h1.idhistory=h2.idhistory) AS fecha,
  8.                        
  9.            
  10.                 ....
  11.                 FROM
  12.                     historico hm

El error que me da es que no conoce la la columna hm.idcontacto

¿Por qué?

Última edición por gnzsoloyo; 08/10/2013 a las 04:31 Razón: Muy mal etiquetado.
  #2 (permalink)  
Antiguo 08/10/2013, 04:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error en INNER JOIN

Esa doble subconsulta contra la misma tabla dirique que se puede evitar pero pon algun ejemplo de tus datos y del resultado que buscas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 08/10/2013, 05:23
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Error en INNER JOIN

Un poco de contexto, en la tabla se almacenan contactos(idcontacto) , los movimientos que hace cada contacto(idhistory) y el tiempo en el que se produce cada movimiento.

No se como puedo sacar la primera vez que hace un movimiento cada contacto, y difgamos, enlazarlo con la consulta que tengo superior, donde muestro mas información del contacto.
  #4 (permalink)  
Antiguo 08/10/2013, 07:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error en INNER JOIN

A mi entender te estás complicando mucho...
Si lo que quieres es el primer ingreso de un contacto en la tabla "historico", junto con todos los datos de ese contacto, ¿no sería más simple hacer algo como?:
Código MySQL:
Ver original
  1. SELECT MIN(h.idhistory)idhistory, c.*
  2. FROM historico  h  INNER JOIN concacto c ON h.idcontacto = c.idcontacto
  3. GROUP BY h.idcontacto;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: join, 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 09:05.