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

Problema con left Joins

Estas en el tema de Problema con left Joins en el foro de Bases de Datos General en Foros del Web. Tengo 3 tablas una donde viene el categoria_id, la cual corresponde a la id categoria, otra donde viene una relacion id_nota y categoria_id y otra ...
  #1 (permalink)  
Antiguo 09/03/2007, 10:22
 
Fecha de Ingreso: agosto-2004
Mensajes: 12
Antigüedad: 20 años, 3 meses
Puntos: 0
Desacuerdo Problema con left Joins

Tengo 3 tablas una donde viene el categoria_id, la cual corresponde a la id categoria, otra donde viene una relacion id_nota y categoria_id y otra donde tengo un listado de entradas cada una con su correspondiente id. En la primera tabla solo hay un registro por cada categoria pero en la segunda hay multiples registros para cada categoria al igual que en la tercera lo que intento hacer es unir las 3 tablas pero solo extraer la ultima entrada para cada una de las categorias, la sentencia que tengo es la siguiente:

SELECT wp_links.link_id, wp_links.link_url, wp_links.link_name, wp_links.link_image, wp_links.link_target,
wp_links.link_category, wp_links.link_size, wp_links.post_cat, wp_posts.ID, wp_posts.post_title,
wp_posts.post_excerpt, wp_posts.post_content, wp_posts.guid, wp_links.link_rating
FROM wp_links
LEFT JOIN wp_post2cat ON wp_links.post_cat = wp_post2cat.category_id
LEFT JOIN wp_posts ON wp_post2cat.post_id = wp_posts.ID
WHERE link_visible = 'Y'
group by link_id
ORDER BY link_category ASC, link_rating ASC, post_id desc
Me trae un registro de cada categoria pero trae el primero que se ingreso y no el ultimo, quisiera saber si alguein sabe como puedo hacer que el left join de alguna forma traiga el ultimo registro ingresado..

Uso left join por que en la tabla 1 hay registros que no tienen relacion con las otras 2 tablas.

saludos
  #2 (permalink)  
Antiguo 09/03/2007, 13:46
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Re: Problema con left Joins

Has probado con MAX(wp_links.link_id)?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 10/03/2007, 19:45
 
Fecha de Ingreso: agosto-2004
Mensajes: 12
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Re: Problema con left Joins

La verdad no, por que no necesito el max de las ligas, de todas formas ya resolvi la situacion con una query anidada, la anexo :

Select wp_links.link_id, wp_links.link_url, wp_links.link_name, wp_links.link_image, wp_links.link_description, wp_links.link_target,
wp_links.link_category, wp_links.link_size, wp_links.post_cat, wp_posts.ID, wp_posts.post_title,
wp_posts.post_excerpt, wp_posts.post_content, wp_posts.guid, autolinks.autodias, wp_links.link_rating, wp_categories.cat_name, wp_categories.category_description
FROM wp_links
LEFT JOIN ( SELECT MAX(post_id) AS post_id, category_id FROM wp_post2cat GROUP BY category_id )
AS post ON wp_links.post_cat = post.category_id
LEFT JOIN wp_posts ON post.post_id = wp_posts.ID
LEFT JOIN autolinks ON wp_links.link_id = autolinks.id_link
LEFT JOIN wp_categories ON wp_categories.cat_ID = post.category_id
WHERE wp_links.link_visible = 'Y'
AND (wp_links.link_category = 1 or wp_links.link_category = 2)
ORDER BY wp_links.link_category ASC, wp_links.link_rating ASC

Saludos y 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 14:13.