Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2006, 13:44
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Problema consulta con Subquery y Join entre dos tablas

Hola

Mi problema es el siguiente,

tengo dos tablas la de usuario (usuario es unico) y la tabla de experiencia laboral (el usuario puede tener mas de una experiencia laboral).

Necesito hacer una consulta SQL donde me muestre los datos del usuario (tabal de usuario) y solo una experiencia laboral (la ultima), mi problema es que no he podido dar con la consulta ya que al hacer el join me muestra todas las experiencia laboral del usuario y yo necesito solo la ultima.

bueno y tengo la siguiente consulta pero el problema es que me muestra null los campos de experiencia laboral desde el segundo usuario en adelante.

Código:
SELECT 

us.username,
exp.cargo_empresa,
exp.nombre_empresa,
exp.nombre_comuna_exp,
exp.nombre_region_exp,
exp.nombre_industria_exp,
exp.nombre_sector_exp,
exp.nombre_tipo_empresa,
exp.nombre_tamano_empresa,
exp.nombre_area_funcional
FROM (select id,username from posters group by id,username ORDER BY id) as us 

LEFT JOIN (SELECT 

pel.*,
pc2.nombre_comuna as nombre_comuna_exp,
pr2.nombre_region as nombre_region_exp,
pi2.nombre_industria as nombre_industria_exp,
ps2.nombre_sector as nombre_sector_exp,
ptipe.nombre_tipo_empresa as nombre_tipo_empresa,
pte.nombre_tamano_empresa as nombre_tamano_empresa,
paf.nombre_area_funcional as nombre_area_funcional
FROM prof_exp_laboral pel
				
LEFT JOIN prof_comunas pc2 ON (pc2.id_comuna=pel.id_comuna)
LEFT JOIN prof_regiones pr2 ON (pr2.id_region=pel.id_region)
LEFT JOIN prof_industrias pi2 ON (pi2.id_industria=pel.id_industria)
LEFT JOIN prof_sectores ps2 ON (ps2.id_sector=pel.id_sector)
LEFT JOIN prof_tipo_empresa ptipe ON (ptipe.id_tipo_empresa=pel.id_tipo_empresa)
LEFT JOIN prof_tamano_empresa pte ON (pte.id_tamano_empresa=pel.id_tamano_empresa)
LEFT JOIN prof_area_funcional paf ON (paf.id_area_funcional=pel.id_area_funcional)
ORDER BY id_exp ASC LIMIT 0,1) exp ON (exp.id_usuario=us.id)
Resultado:
Código:
nick    cargo_empresa     nombre_empresa       nombre_comuna_exp
admin       Consultor             test 		  Las Condes  
juan          NULL 		 NULL		  NULL 			  
pepe         NULL 		 NULL		  NULL
y si en la consulta elimino el
Código:
ASC LIMIT 0,1
me muestra bien las relaciones de tabla, pero me muestra cada una de las experiencia laboral de los usuarios,

Resultado:
Código:
username  cargo_empresa  nombre_empresa  nombre_comuna_exp
admin         Consultor                test                 Las Condes
juan           gerente                  test2               La Reina
pepe          Gerente                  test3               Las Condes
pepe          aaa 	                   Otra 	  Tortel
Sólo necesito que muestre una sola experiencia laboral por usuario (la ultima).
Este seria el resultado que necesito:

Resulatdo deseado:
Código:
username  cargo_empresa  nombre_empresa  nombre_comuna_exp  
admin          Consultor               test                Las Condes      
juan            gerente                 test2               La Reina 
pepe           Gerente                 test3               Las Condes
cualquier ayuda muchas gracias.

salu2

zsamer

Última edición por zsamer; 13/02/2006 a las 13:53