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 :
sauf que je n'ai aucune idée de la requête qu''il faudrait 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 }
Partager