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

consulta de tabla relacionales para un buscador

Estas en el tema de consulta de tabla relacionales para un buscador en el foro de Mysql en Foros del Web. hola como esta... estoy desarrollando un buscador en php y mysql y me he encontrado con un problema, les cuento... tengo una tabla llamada publications ...
  #1 (permalink)  
Antiguo 05/12/2014, 05:17
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 1
consulta de tabla relacionales para un buscador

hola como esta...

estoy desarrollando un buscador en php y mysql y me he encontrado con un problema, les cuento...

tengo una tabla llamada publications con los sgts. campos

id_publications
category **** iserto un numero que es el id de la categoria
sub_category **** iserto un numero que es el id de la subcategoria
title
description
date

otra tabla llamada category con los sgts. campos
id
name


en esta tabla tengo 6 categorias
id name
1 Cars
2 Employmen
3 Rentals
4 Services
5 Wanted
6 Yard Sale

despues tengo 6 tablas llamadas cada una como las categoria que son las que utilizo para insertar la subcategoria

tabla cars con los sgts. campos
id_category
category


tabla employmen con los sgts. campos
id_category
category


tabla rentals con los sgts. campos
id_category
category


tabla services con los sgts. campos
id_category
category


tabla wanted con los sgts. campos
id_category
category


tabla yard_sale con los sgts. campos
id_category
category



para insertar una publicacion lo que gaho es ejemplo

id_publications --- 1
category ---1
sub_category --- 2
title --- cualquier cosa
description --- esto es un ejemplo
date --- 2014-12-04


lo que deseo hacer es un buscador donde se pueda buscar por el
title, description, date y que tanbien se pueda buscar por el nombre de la categoria y la subcategoria

en el ejemplo seria que.
si yo buscara la palabra cars deveria salirme esa publicacion ya que tiene
category *** 1 por ende pertenece a la categoria cars.

si buscara toyota deveria salirme esa publicacion ya que tiene
sub_category *** 2 que en la tabla cars el id_category *** 2 es toyota

mi problema recide en que no ce como hacer la relacion de esas tablas en el SELECT, estube investigando como hacer lo con INNER JOIN, es que soy novato en esto de SQL.
  #2 (permalink)  
Antiguo 05/12/2014, 08:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: consulta de tabla relacionales para un buscador

Tus tablas serán solo tres
publications
id_publications
id_subcategory
title
description
date

categories
id_category
category

subcategories
id_subcategory
subcategory
id_category

Naturalmente las relaciones son evidentes. Primero prepara eso y luego haremos las consultas.

Última edición por jurena; 05/12/2014 a las 14:39
  #3 (permalink)  
Antiguo 05/12/2014, 18:29
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: consulta de tabla relacionales para un buscador

Cita:
Iniciado por jurena Ver Mensaje
Tus tablas serán solo tres
publications
id_publications
id_subcategory
title
description
date

categories
id_category
category

subcategories
id_subcategory
subcategory
id_category

Naturalmente las relaciones son evidentes. Primero prepara eso y luego haremos las consultas.

ya he reestruturado las tablas como me dices y haora como hago la consulta.
  #4 (permalink)  
Antiguo 06/12/2014, 02:41
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: consulta de tabla relacionales para un buscador

Cambia el nombre de la columna date por fecha, pues se trata de una palabra reservada por el programa. Luego prueba esto
Para obtener el título, descripción y fecha de todas las publicaciones cuya categoría es la 1, es decir, Cars, ordenadas por fecha descendente de publicación podrías probar esto
Código MySQL:
Ver original
  1. SELECT p.title, p.description, p.fecha FROM publications p
  2.  INNER JOIN subcategories s ON p.id_subcategory = s.id_subcategory
  3.  INNER JOIN categories  c ON s.id_category= c.id_category
  4.  WHERE c.id_category = 1 ORDER BY fecha DESC

Última edición por jurena; 06/12/2014 a las 11:39

Etiquetas: buscador, campo, join, php, select, sql, 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 01:36.