Hello,

N'ayant pas beaucoup d'expérience dans les requetes de ce genre, j'ai un peu besoin d'aide :o

Alors voila la situation : une table questions et une table reponses à mettre en relation.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
CREATE TABLE `questions` (
  `idProcessus` smallint(5) unsigned NOT NULL,
  `idSousProcessus` smallint(5) unsigned NOT NULL,
  `idQuestion` smallint(5) unsigned NOT NULL auto_increment,
  `LibelleQuestion` varchar(50) NOT NULL,
  PRIMARY KEY  (`idQuestion`),
  KEY `fk_Proc` (`idProcessus`),
  KEY `fk_SousProc` (`idSousProcessus`)
) ENGINE=InnoDB;
ALTER TABLE `questions`
  ADD CONSTRAINT `fk_Proc` FOREIGN KEY (`idProcessus`) REFERENCES `processus` (`idProcessus`),
  ADD CONSTRAINT `fk_SousProc` FOREIGN KEY (`idSousProcessus`) REFERENCES `sousprocessus` (`idSousProcessus`);
 
CREATE TABLE `reponses` (
  `idTicket` int(11) NOT NULL default '0',
  `idQuestion` smallint(5) unsigned NOT NULL default '0',
  `valeur` varchar(40) default NULL,
  PRIMARY KEY  (`idTicket`,`idQuestion`),
  KEY `fk_question` (`idQuestion`)
) ENGINE=InnoDB;
ALTER TABLE `reponses`
  ADD CONSTRAINT `fk_question` FOREIGN KEY (`idQuestion`) REFERENCES `questions` (`idQuestion`),
  ADD CONSTRAINT `fk_ticket` FOREIGN KEY (`idTicket`) REFERENCES `ticket` (`idTicket`);
A partir de là, je veux sortir l'idQuestion, le LibelleQuestion, la valeur de la reponse en fonction du processus (idProcessus) et du sous processus (idSousProcessus) pour un certain ticket (idTicket). J'ai donc codé cette requête comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Select Q.idQuestion, Q.LibelleQuestion, R.valeur
from questions Q
  left outer join reponses R
    On Q.idQuestion = R.idQuestion
Where Q.idProcessus = 1
And Q.idSousProcessus = 3
And R.idTicket=5099;
Donc mysql ne me renvoie pas d'erreur de syntaxe.
Si j'enleve le critère sur le ticket, mysql me renvoie les valeur pour chaque ticket qui aurait une reponse auw questions définies par le processus et le sous processus choisis.

Ce que je voudrais en fin de compte, c'est avoir un retour de "valeur" vide même si le ticket (idTicket) n'a pas de référence dans la table reponses.