Bonjour tout le monde,
Je suis un brin coincé par un "petit" problème.
Je vous explique :
J'ai une base avec de multiples tables liées entre elles (jusqu'ici rien de bien folichon). Pour créer un module de recherche avancée, j'ai créé une requête (view) qui met à plat les données de plusieurs table pour que je puisse rechercher à travers tous les champs.
Voici un exemple résumé de ce que ça donne avec 2 tables :
table 1 (private_datas):
id | firstname | lastname
1 alain dupont
2 jessie alarue
.....
table 2 (activity)
id | description | private_data_id
1 tennis 1
2 natation 1
3 pétanque 1
4 tennis 2
5 bowling 2
la table2 est liée à la table1 grâce à private_data_id par une relation 1 à plusieurs.
Maintenant, quand je mets tout ça à plat j'obtiens :
id | firstname | lastname | description
1 alain dupont tennis
1 alain dupont natation
1 alain dupont pétanque
2 jessie alarue tennis
2 jessie alarue bowling
....
Jusque là, rien de nouveau. Ce qui m'embête plus c'est que j'aimerais écrire une requête me permettant de trouver les personnes qui font à la fois du tennis et de la natation par exemple (dans mon cas, alain dupont mais pas jessie alarue). Un truc du genre :
SELECT * FROM requete WHERE firstname='un critère' AND lastname='un critère' AND (description='tennis' AND description='natation'); qui évidemment ne fonctionne pas comme demandé...
Je vous avoue que là je sèche un peu.
Si qqn pouvait éclairer ma lenterne ce serait fort sympathique.
Merci.
Pichto
Partager