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

Problema con consulta con 2 tablas

Estas en el tema de Problema con consulta con 2 tablas en el foro de Mysql en Foros del Web. Esta consulta la hice sin problemas con subquerys, pero al subir el script al hosting me percaté que el mysql del servidor es version 4.0.xx, ...
  #1 (permalink)  
Antiguo 27/02/2006, 21:00
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Problema con consulta con 2 tablas

Esta consulta la hice sin problemas con subquerys, pero al subir el script al hosting me percaté que el mysql del servidor es version 4.0.xx, razón el cual no soporta "Subquerys".

Dada ésta situación tengo que hacer ésto sin subquerys, pero no he podido dar con la solución

Haber si me pueden ayudar, la situacion es la siguiente:

Son dos tablas la de usuario (usuario es único) y la tabla de experiencia laboral (el usuario puede tener más de una experiencia laboral).

Tabla usuario:
id ( Lave primaria )
nombre
mail
password
etc...

Tabla Experiencia Laboral:

id_exp ( Lave primaria )
id_usuario` int(5) ( Llave estrangera de tabla usuarios)
nombre_empresa
cargo_empresa
fecha_inicio
fecha_fin
actual_cargo
descripcion_cargo

La idea es tener un JOIN entre ambas tablas, pero que de la tabla experiencia laboral me muestre sólo una experiencia laboral (la ultima ingresada), no todas, solo una (sin Subquerys).

Gracias y salu2

zsamer
  #2 (permalink)  
Antiguo 01/03/2006, 07:48
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Puedes intentar hacer esto:
Código PHP:
//
SELECT *
FROM usuario INNER JOIN experiencia ON (id=id_usuario)
GROUP BY id_usuario
HAVING fecha_fin
=MAX(fecha_fin); 
cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 01/03/2006, 10:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Cita:
Iniciado por deadlykyo
Puedes intentar hacer esto:

Código PHP:
//
SELECT *
FROM usuario INNER JOIN experiencia ON (id=id_usuario)
GROUP BY id_usuario
HAVING fecha_fin
=MAX(fecha_fin); 
cya
Gracias por responder,

Asimismo lo había hecho, pero el resultado que entrega es el mismo que si lo hiciera así:
Código PHP:
//
SELECT *
FROM usuario INNER JOIN experiencia ON (id=id_usuario)
GROUP BY id_usuario
Basta con el group by, eso quiere decir que el having esta demas, y por otra parte si quisiera obtener la primera experiencia laboral (al reves) con: having fecha_inicio=MIN(fecha_inicio)
no entrega resultado de los usuarios con más de una experiencia laboral, simplemente no los muestra.

alguna idea!

gracias.
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 19:45.