Bonjour,

j'ai 2 tables T1 et T2 et je voudrais extraire les données d'une colonne de T1 seulement si la donnée correspondante de T2 vérifie une certaine condition (les 2 tables sont reliées par clé étrangère). Mes essais provoquent plein de messages d'erreur donc je suis loin du compte.

Voici quelques détails :

table "tickets" :
tickets.sql :
Code sql : 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
CREATE TABLE IF NOT EXISTS `tickets` (
  `id` varchar(18) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `Product_Name` varchar(25) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Assigned_Group` varchar(30) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Submitted_Date` datetime NOT NULL,
  `Last_Resolved_Date` datetime NOT NULL,
  `Prioritytype` smallint(2) NOT NULL,
  `Statustype` smallint(3) NOT NULL,
  `Area` varchar(10) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Country` varchar(10) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Submitter_SESA` int(6) NOT NULL,
  `Custommer_SESA` int(6) NOT NULL,
  `Organization` varchar(20) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Incident_Type` varchar(20) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  `Reported_Source` varchar(20) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `Prioritytype` (`Prioritytype`),
  KEY `Statustype` (`Statustype`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

table "statustype" :
statustype.sql :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `statustype` (
  `id` smallint(3) NOT NULL AUTO_INCREMENT,
  `name` varchar(13) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

et ce que je voudrais faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
IF ((statustype.id != 4)AND(statustype.id)!=5)) THEN
{
SELECT tickets.Last_Resolved_Date FROM tickets
ELSE SELECT NULL //dans ce cas, la valeur n'a aucun sens donc on affiche 0
}
sauf que je n'ai aucune idée de la requête qu''il faudrait faire...