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

como realizar esta consulta

Estas en el tema de como realizar esta consulta en el foro de Mysql en Foros del Web. Hola. Me veo en la necesidad de realizar una consulta con un condicional pero no se como realizarla. me explico: Para un sitio de noticias ...
  #1 (permalink)  
Antiguo 12/11/2011, 18:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
como realizar esta consulta

Hola.

Me veo en la necesidad de realizar una consulta con un condicional pero no se como realizarla. me explico:

Para un sitio de noticias y articulos
tengo la tabla "categorias" que contiene las categorías y subcategorias de las noticias, por ejemplo:

Código:
(id)           (Nombre)       (Lv)     (cat_padre)
01         deportes            1           --
02         futbol              2         deportes
03         tenis               2         deportes
04         entretenimieto      1           --
05         cine                2      entretenimieto
06         tv                  2      entretenimieto
Otra tabla en donde guardo las noticias:


Código:
(id)           (Nombre)       (Noticia)    (resumen)    (categoria)
01    Proximo partido          {cuerpo}    {resumen}     deportes           
02    Resultado del partido   {cuerpo}     {resumen}     futbol
02    Nuevo titulo de Nadal   {cuerpo}     {resumen}     tenis
Ahora la consulta es que necesito hacer es que cuando el url del sitio sea:
dominio.com/deportes
seleccione id, nombre y resumen de la tabla Noticias para todos los articulos que la categoria sea igual a deportes o a alguna de sus subcategorias (futbol o tenis), pero que si el url es:
dominio.com/tenis
es decir, una subcategoria (o categoria lv>1), seleccione el id, nombre y noticia de todas las noticias que sean solamente de esa subcategoria.

Es posible hacer ese proceso en una sola consulta? es decir sin tener que recurrir a php u otro lenguage para comprobar que si lv es menor a 1 realizar una consulta, y si es mayor realizar otra?
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador
  #2 (permalink)  
Antiguo 12/11/2011, 23:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como realizar esta consulta

Cita:
Es posible hacer ese proceso en una sola consulta? es decir sin tener que recurrir a php u otro lenguage para comprobar que si lv es menor a 1 realizar una consulta, y si es mayor realizar otra?
No en una sola consulta. En todo caso se podría lograr en un stored procedure.
Pero si la selección de una cosa u ora es algo que se puede establecer ya en el formulario web, no te conviene un SP, sino crear dinámicamente la consulta final para enviarla luego a MySQL. Es más sencillo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/11/2011, 08:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: como realizar esta consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No en una sola consulta. En todo caso se podría lograr en un stored procedure.
Pero si la selección de una cosa u ora es algo que se puede establecer ya en el formulario web, no te conviene un SP, sino crear dinámicamente la consulta final para enviarla luego a MySQL. Es más sencillo.
el detalles es que como puedo hacer una consulta dinamica, si la consulta depende de los resultados del query
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador

Etiquetas: php, tabla
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 13:07.