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

1 consulta para varias categorias en una tabla

Estas en el tema de 1 consulta para varias categorias en una tabla en el foro de Mysql en Foros del Web. hola. es posible obtener los 6 ultimos titulos insertados en una tabla de este tipo: titulo | cat1 | cat2 | texto registro1-> untitular | ...
  #1 (permalink)  
Antiguo 17/10/2007, 07:22
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
1 consulta para varias categorias en una tabla

hola.

es posible obtener los 6 ultimos titulos insertados en una tabla de este tipo:

titulo | cat1 | cat2 | texto

registro1-> untitular | 1 | 10 | descripcion del titular
registro 2-> otro titular | 2 | 20 | otra descripcion mas

....

todos los registros igual. Cat2 tiene 6 valores distintos.

Es posible hacer una consulta que obtenga los 6 ultimos titulo insertados (hay un campo fecha por el que estan ordenados ) ?

yo probe asi:

Código PHP:
SELECT FROM tabla
WHERE cat1
='1' AND cat2='10' OR cat2='20'
order by campo_fecha DESC limit 6 
pero si hay dos registros que se actualizan y estos pertenecen a la misma cat2 en la consulta no saldran 6 registros con 6 cat2 distintas. Si no que saldra algo asi:

registro1-> cat1
registro2-> cat1
registro3-> cat2
...
registro6->cat5

tiene solucion con una unica consulta ?

Última edición por BrujoNic; 17/10/2007 a las 08:27
  #2 (permalink)  
Antiguo 17/10/2007, 08:29
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: 1 consulta para varias categorias en una tabla

Intenta lo siguiente:
Código PHP:
SELECT DISTINCT FROM tabla
WHERE cat1
='1' AND cat2='10' OR cat2='20'
order by campo_fecha DESC limit 6 
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 22/10/2007, 01:53
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
Re: 1 consulta para varias categorias en una tabla

Gracias por responder.

No puedo utilizar esa consulta porque entonces solo obtengo el campo que ponga en distinct y esta tabla tiene el texto que ha de salir en la web y si pono mas campos el distinct no funciona como quiero.

He utilizado esta consulta

Código PHP:
SELECT DISTINCT FROM tabla
WHERE cat1
='1' AND cat2='10' OR cat2='20'
group by cat2
order by campo_fecha DESC limit 6 
esta me devuelve lo que yo quiero salvo que los grupos que hace "group by" no me los ordena por el campo fecha. Es decir, cada grupo del "group by" no esta desde la fecha de hoy por ejemplo, si no que el primer grupo tiene la una fecha y el segundo grupo tiene una fecha menor.

NOTA:
se me olvido comentar (lo siento) que existe otra tabla que almacena cat2 y nombre es decir:

cat2 |nombre
10 | fubol
20 | baloncesto
...
  #4 (permalink)  
Antiguo 22/10/2007, 03:24
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 33
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: 1 consulta para varias categorias en una tabla

La verdad que no entiendo exactamente lo que quieres.


¿Quieres obtener los 6 últimos registros añadidos de cada categoría?

Si no, a lo mejor deberías ordenar por fecha (order by) y después agrupar por categoría (group by).


Prueba:

Código PHP:
SELECT FROM tabla,tablanombres
WHERE tablanombres
.cat2=tabla.cat2
order by campo_fecha DESC 
group by cat2
limit 6 
Si lo que quieres es los 6 ultimos de cada una, dilo e intento hacerla a ver.
  #5 (permalink)  
Antiguo 23/10/2007, 03:46
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
Re: 1 consulta para varias categorias en una tabla

Cita:
Si lo que quieres es los 6 ultimos de cada una, dilo e intento hacerla a ver.
eso es justo lo que necesito. Obtener los ultimos 6 insertados de cada categoria. El problema es que si una categoria se actualiza mas que otra en la consulta no aparecen las 6. puesto que una categoria se actualiza mas que otra.

Muchas gracias!

Última edición por nx00; 23/10/2007 a las 03:54
  #6 (permalink)  
Antiguo 27/10/2007, 17:48
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: 1 consulta para varias categorias en una tabla

Hola nx00... creo que tu problema es de conceptos...

Estás diciendo que te muestre los 6 últimos ingresados... eso se entiende que son los últimos 6 registros que ingresaron en la DB.

Por lo que dices y te entiendo es que quieres que si te actualizan/modifican cualquier registro, pues que queda también entre los 6 últimos.

Si estoy en lo correcto, lo que debes hacer es crear un campo que guarde la fecha de las modificaciones, osea supongo que tienes un campo fecha pero es el que alimentas cuando crean un registro nuevo no?? Debes crear un nuevo campo que guarde la fecha de la última modificación, osea cada vez que hagas un update pues modificas dicha fecha, y ahí sí puedes hacer la consulta que te plantea BrujoNic.

Ojalá que sea eso

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #7 (permalink)  
Antiguo 30/10/2007, 04:45
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
Re: 1 consulta para varias categorias en una tabla

Gracias a todos por la ayuda. Probare esto que me dijiste Carxl

Con esa solucion que ofreces parece no ser demasiado complicado.
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 20:26.