Pregunta

Lo que tengo que hacer es buscar en la tabla de compañías y etiquetas y listar compañías.

La estructura de mi tabla es la siguiente;

etiquetas (tag_ID, etiqueta) tag_relation (tag_ID, company_ID) empresas (company_ID, company_name, company_description)

La consulta debe poder buscar información de la empresa (nombre, descripción) y etiquetas. Si se busca la etiqueta, las empresas relacionadas deberían regresar.

¿Fue útil?

Solución

Suponiendo que desea ejecutar " like " búsquedas, puede usar el siguiente código. Si tiene tablas muy grandes, el rendimiento puede ser bastante malo porque los comodines evitarán el uso de índices.

select     companies.company_id, companies.company_name, companies.company_description
from       companies
inner join tag_relation
on         companies.company_id = tag_relation.company_id
inner join tags
on         tags.tag_id = tag_relation.tag_id
where      companies.company_name like '%something%'
or         companies.company_description like '%something%'
or         tag.tag like '%something%'
group by   companies.company_id, companies.company_name, companies.company_description
order by   companies.company_name
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top