Jump to content

Not So Simple Query - Help


jandrox_ox

Recommended Posts

Here is the design of the database (small, don't be afraid to look):

http://citizensforsocialjustice.com/wiki/images/design.jpg

*Organization has and belongs to many keywords

 

What I am trying to do: given an array of keywords, search all organizations that belong to at least 1 or those keywords BUT return the result in hit order (the organization that matched with the most keywords comes first, then the next one, and so on...).

Link to comment
https://forums.phpfreaks.com/topic/138355-not-so-simple-query-help/
Share on other sites

create view vOrgsKeywords
as
select
org.name as orgName,
keys.name as keyWord,
count(org.name) as countOfKeys
from organizations org 
inner join keyword_organizations ko
	on org.id = ko.organization_id
inner join keywords keys
	on keys.id = ko.keyword_id;

Then, to query the data you want:

select * from vOrgsKeywords where keyWord = 'somevalue'
order by countOfKeysDesc;

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.