Question

Ce que je dois faire, c'est effectuer une recherche dans la liste des sociétés et des balises et répertorier les sociétés.

La structure de ma table est la suivante;

balises

(tag_ID, tag) tag_relation (tag_ID, company_ID) sociétés (ID_entreprise, nom_entreprise, description_entreprise)

La requête doit pouvoir rechercher à la fois les informations sur la société (nom, description) et les balises. Si une balise est recherchée, les sociétés liées doivent revenir.

Était-ce utile?

La solution

En supposant que vous souhaitiez exécuter "comme" " recherches vous pouvez utiliser le code ci-dessous. Si vous avez des tables très volumineuses, les performances risquent d’être médiocres, car les caractères génériques empêcheront l’utilisation des index.

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top