Requete sql complexe

nobull Messages postés 3 Date d'inscription vendredi 19 décembre 2003 Statut Membre Dernière intervention 14 septembre 2005 - 13 sept. 2005 à 18:33
nobull Messages postés 3 Date d'inscription vendredi 19 décembre 2003 Statut Membre Dernière intervention 14 septembre 2005 - 14 sept. 2005 à 14:21
Bonjour

J'ai une premiere table

CREATE TABLE `message` (
`id` smallint(6) NOT NULL auto_increment,
`nom` text NOT NULL,
`email` text NOT NULL,
`date` text NOT NULL,
`message` text NOT NULL,
`commentaire` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM ;

puis une 2ème

CREATE TABLE `commentaires` (
`id` smallint(6) NOT NULL auto_increment,
`idMes` text NOT NULL,
`couleur` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM ;

le champ commentaire.message prend 0 ou 1
(ou yen des commentaires ou pas)
s'il y a des commentaires dans la tables commentaires,
j'alimente idMes par id de la table messages
(un message peut avoir plusieurs commentaires)

la requête que je cherche a écrire doit me renvoyer
le message (suivant l'id) s'il n'y pas de commentaire
le message + le ou les commentaires s'il y en a

j'ai essayé
SELECT * FROM messages, commentaires
WHERE id.messages=selection AND commentaires.message=1

mais évidemment ce n'est pas ça
ça tente qq un ?

merci

nobull

3 réponses

cs_Antilope Messages postés 17 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 16 décembre 2005
14 sept. 2005 à 09:38
Peut-être une jointure externe résoudrait ton problème ?

select messages.* from messages,commentaires
where messages.id=commentaires.idMes (+)
and messages.id=..

Antilope
0
nobull Messages postés 3 Date d'inscription vendredi 19 décembre 2003 Statut Membre Dernière intervention 14 septembre 2005
14 sept. 2005 à 09:52
je ne connais pas les jointures externes
je vais me renseigner
merci bcp

nobull
0
nobull Messages postés 3 Date d'inscription vendredi 19 décembre 2003 Statut Membre Dernière intervention 14 septembre 2005
14 sept. 2005 à 14:21
pour ceux que ça pourrait intéresser (pour mysql)

SELECT *
FROM message LEFT JOIN commentaires ON message.id=commentaires.idMes
WHERE message.id = colname

et ça marche !
merci encore

nobull
0
Rejoignez-nous