De database wordt gebruikt voor het opslaan van metadata van afbeeldingen. Hierop moet ook kunnen worden gezocht, daarom dus een zoekfunctie.
Onderstaande query die ik hiervoor op dit moment gebruik werkt.
Na het uitvoeren van deze query in bijv. phpmyadmin geeft hij correct het foto_id, categorie_id, de omschrijving, plaatsnaam en straatnaam.
Nu heb ik geprobeerd om de query uit te breiden zodat hij ook in de velden p.naam en s.naam zoekt naar 'test' op de volgende manier:
Dit werkt alleen totaal niet goed. Hij geeft als resultaat 500 keer hetzelfde foto_id, categorie_id, omschrijving, plaats en straat weer. Weet iemand hoe ik deze query fgoed moet samenstellen?
De indeling van de database er als volgt uit:

Alvast bedankt voor de reacties!
Emielioz
Onderstaande query die ik hiervoor op dit moment gebruik werkt.
code:
1
2
3
4
| SELECT f.foto_id, f.categorie_id, f.omschrijving, (SELECT p.naam FROM plaats p WHERE f.plaats_id = p.plaats_id), (SELECT s.naam FROM straat s WHERE s.straat_id = f.straat_id) FROM foto f WHERE f.omschrijving REGEXP 'test' ORDER BY f.foto_id LIMIT 0, 500 |
Na het uitvoeren van deze query in bijv. phpmyadmin geeft hij correct het foto_id, categorie_id, de omschrijving, plaatsnaam en straatnaam.
Nu heb ik geprobeerd om de query uit te breiden zodat hij ook in de velden p.naam en s.naam zoekt naar 'test' op de volgende manier:
code:
1
2
3
4
5
6
| SELECT f.foto_id, f.categorie_id, f.omschrijving, (SELECT p.naam FROM plaats p WHERE f.plaats_id = p.plaats_id), (SELECT s.naam FROM straat s WHERE s.straat_id = f.straat_id) FROM foto f, straat s, plaats p WHERE f.omschrijving REGEXP 'test' OR p.naam REGEXP 'test' OR s.naam REGEXP 'test' ORDER BY f.foto_id LIMIT 0, 500 |
Dit werkt alleen totaal niet goed. Hij geeft als resultaat 500 keer hetzelfde foto_id, categorie_id, omschrijving, plaats en straat weer. Weet iemand hoe ik deze query fgoed moet samenstellen?
De indeling van de database er als volgt uit:

Alvast bedankt voor de reacties!
Emielioz