demande d'aide pour une requete - recherche sur forum

Le
Marc Collin
salut

j'ai donc une table membre, une table section, une table message, une
table reponse

chaque réponse correspond à un message

je veux chercher les messages et reponse correspondant à XZombi

si un message a XZombi et plusieurs réponse qui lui sont lié en ont
aussi je veux affiché le message une fois

il est possible que XZombi soit seulement dans une réponse.. je sort le
message lui étant associé

j'ai des doutes qu'on puisse faire ça en une requete

j'utilise mysql

j'ai un message ayant XZombi et qui possède 2 réponse qui a XZombi
dedans le numéro de ce message est 1

j'ai un autre message ayant XZombi son numéro est 33

donc il devrait affiche que deux message

dans le message 1, il y a 7 réponse


j'ai concocté cette requete

SELECT msg.mes_nomessage, mes_titre, mem_nomusager
FROM message msg
INNER JOIN membre m ON m.mem_nomembre = msg.mem_nomembre
INNER JOIN section s ON s.sec_nosection = msg.sec_nosection
INNER JOIN reponse rep ON rep.mes_nomessage = msg.mes_nomessage
WHERE s.sec_nosection = 1 AND
MATCH (mes_message) AGAINST ("XZombi") or
MATCH (rep_reponse) AGAINST ("XZombi")

cette requete ne donne bien sur pas le résultat escompté

j'obtient 7 fois le message 1

est-t'il possible de faire ça en 1 requête ou je vais être obligé de
séparer ça

des suggestions?

merci
--
La boîte à prog http://www.laboiteaprog.com

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Igor Racic
Le #21719221
Est-ce que tu peux donner un exemple de données et result que tu veux
obtenir ?
C'est plus facile à suivre...

Igor


Marc Collin wrote:
salut

j'ai donc une table membre, une table section, une table message, une
table reponse

chaque réponse correspond à un message...

je veux chercher les messages et reponse correspondant à XZombi

si un message a XZombi et plusieurs réponse qui lui sont lié en ont
aussi... je veux affiché le message une fois...

il est possible que XZombi soit seulement dans une réponse.. je sort le
message lui étant associé

j'ai des doutes qu'on puisse faire ça en une requete...

j'utilise mysql

j'ai un message ayant XZombi et qui possède 2 réponse qui a XZombi
dedans... le numéro de ce message est 1

j'ai un autre message ayant XZombi son numéro est 33

donc il devrait affiche que deux message...

dans le message 1, il y a 7 réponse


j'ai concocté cette requete

SELECT msg.mes_nomessage, mes_titre, mem_nomusager
FROM message msg
INNER JOIN membre m ON m.mem_nomembre = msg.mem_nomembre
INNER JOIN section s ON s.sec_nosection = msg.sec_nosection
INNER JOIN reponse rep ON rep.mes_nomessage = msg.mes_nomessage
WHERE s.sec_nosection = 1 AND
MATCH (mes_message) AGAINST ("XZombi") or
MATCH (rep_reponse) AGAINST ("XZombi")

cette requete ne donne bien sur pas le résultat escompté

j'obtient 7 fois le message 1

est-t'il possible de faire ça en 1 requête... ou je vais être obligé de
séparer ça...

des suggestions?

merci
Spontex
Le #21719141
Marc Collin wrote:

j'ai concocté cette requete

SELECT msg.mes_nomessage, mes_titre, mem_nomusager
FROM message msg
INNER JOIN membre m ON m.mem_nomembre = msg.mem_nomembre
INNER JOIN section s ON s.sec_nosection = msg.sec_nosection
INNER JOIN reponse rep ON rep.mes_nomessage = msg.mes_nomessage
WHERE s.sec_nosection = 1 AND
MATCH (mes_message) AGAINST ("XZombi") or
MATCH (rep_reponse) AGAINST ("XZombi")

cette requete ne donne bien sur pas le résultat escompté

j'obtient 7 fois le message 1



Salut,
Je dirais que le problème vient du fait que tu distingues "message" et
"réponse", ce qui fait que tu compliques inutilement !
Une réponse est apparemment un message particulier, donc il n'y a pas de
raison de les distinguer, non ?
Sinon, pour ta requête, il faut à mon avis que tu utilises "IN BOOLEAN
MODE" pour que MATCH vale vrai ou faux. Regarde la doc. de MySQL pour cela.
Pour finir, une clause GROUP BY msg.mes_nomessage te permettra de
n'avoir qu'une seule fois les réponses correspondant à un sujet de
discussion donné.

A+

--
Spontex
http://dvdtoile.com
Poster une réponse
Anonyme