Alt sorgusu ile birden fazla tablo aranıyor

1 Cevap php

Ben şirketlerin ve etiketleri tablodan arama ve şirketlerin listeleme yapmak için neler gerekir.

Şöyle Benim tablo yapısı;

tags (tag_ID, tag) tag_relation (tag_ID, company_ID) companies (company_ID, company_name, company_description)

Sorgu şirket bilgileri (isim, açıklama) ve etiketleri de aramak gerekir. Etiketi arama yaparsa, ilgili şirketlerin dönmelidir.

1 Cevap

Eğer aşağıdaki kodu kullanabilirsiniz aramalar "gibi" çalıştırmak istediğiniz varsayarsak. Eğer çok büyük bir tablo varsa yaban kartları indeksler kullanımını önlemek çünkü performans oldukça kötü olabilir.

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