Mysql advanced SELECT, or multiple SELECTS? Movies keywords
- by Supyxy
I have a mysql database with movies as follows:
MOVIES(id,title)
KEYWORDS_TABLE(id,key_id) [id is
referenced to movies.id, key_id is
refernced to keywords.id]
KEYWORDS(id,keyword) //this doesn't matter on my example..
Basically i have movies with their titles and plot keywords for each one, i want to select all movies that have the same keywords with with a given movie id.
I tried something like:
SELECT key_id FROM keywords_table
WHERE id=9
doing that in php and storing all the
IDs in an array $key_id.. then i build
another select that looks like:
SELECT movies.title FROM
movies,keywords_table WHERE
keywords_table.key_id=$key_id[1] OR
keywords_table.key_id=$key_id[2] OR
......... OR
keywords_table.key_id=$key_id[n]
This kinda works but it takes too much time as we talk about a database with thousands of thousands of records.
So, any suggestions?? thanks!