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

obtener listado segun fk y fechas, limit 10

Estas en el tema de obtener listado segun fk y fechas, limit 10 en el foro de Mysql en Foros del Web. hola amigos, me peuden ayudar con esta consulta? no se como armarla tengo dos tablas : una 'categorias' as c (id PK, name) donde... 1 ...
  #1 (permalink)  
Antiguo 12/07/2010, 11:16
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 15 años, 8 meses
Puntos: 5
obtener listado segun fk y fechas, limit 10

hola amigos, me peuden ayudar con esta consulta? no se como armarla

tengo dos tablas : una 'categorias' as c (id PK, name) donde...
1 notas, id 2 articulos, 3 entrevistas, 4 historia, 5 significados, 6 misc

y otra talba de 'articulos' as a (id PK, catid FK, title, created)

en articulos guarda la fecha en que fue creado este articulo, lo que quiero buscar son los 10 articulos mas recientes creados de cada una de las categorias que yo desee buscar. Por ejemplo: quiero buscar solamente los 10 mas recientes de las categorias notas (1), articulos (2) y en historia (4)

algo asi como buscar estos campos:
SELECT a.id, a.title, a.created, c.name FROM articulos a, categorias c

WHERE
a.published = 1 (este debe ir a fuerza pues busca los articulos publicados)

AND // aqui es donde ???!!!! ... asi busco en solo estos ?
c.catid = 1 OR c.catid=2 OR c.catid=4

Y como indico que solo los 10 mas recientes?
DATE_FORMAT(a.created,%Y,%m,%d)
seria usando un lLIMIT 0,10 para cada uno, seria haciedno una subseleccion por cada tema?

Alguna idea? les agradeceria, Salu2!
  #2 (permalink)  
Antiguo 12/07/2010, 12:15
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: obtener listado segun fk y fechas, limit 10

Mmmm, voy en algo asi:

SELECT a.id,title,catid,created,name FROM articulos a INNER JOIN categorias c ON catid = c.id WHERE c.published = 1 AND catid = 2 ORDER BY created DESC LIMIT 0,10

Esto me lo hace como quiero consultar pero cuando es solamente una opcion de ordenar -> catid = 2 ORDER BY created DESC LIMIT 0,10

Pero como obtengo los 10 ultimos articulos publicados de cada categoria?:
+ catid = 1 ORDER BY created DESC LIMIT 0,10
+ catid = 4 ORDER BY created DESC LIMIT 0,10

que en total me encuentre, si busque en tres categorias, 30 articulos ordenados por fecha
  #3 (permalink)  
Antiguo 13/07/2010, 14:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 14 años, 7 meses
Puntos: 300
Respuesta: obtener listado segun fk y fechas, limit 10

usa UNION ALL, tres consultas con su límite cada una
(SELECT a.id,title,catid,created,name FROM articulos a INNER JOIN categorias c ON catid = c.id WHERE c.published = 1 AND catid = 1 ORDER BY created DESC LIMIT 0,10)
UNION ALL
(SELECT a.id,title,catid,created,name FROM articulos a INNER JOIN categorias c ON catid = c.id WHERE c.published = 1 AND catid = 2 ORDER BY created DESC LIMIT 0,10)
UNION ALL
(SELECT a.id,title,catid,created,name FROM articulos a INNER JOIN categorias c ON catid = c.id WHERE c.published = 1 AND catid = 4 ORDER BY created DESC LIMIT 0,10)
  #4 (permalink)  
Antiguo 14/07/2010, 09:53
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: obtener listado segun fk y fechas, limit 10

muchas gracias jurena, exactamente lo que necesito

Etiquetas: fechas, limit, listado
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 07:34.