Bonjour,
je possède 2 tables ayant les structures suivantes:
Et:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE IF NOT EXISTS `lister` ( `NUM_SITE_THEORIQUE` varchar(11) NOT NULL, `NUM_SITE_GEO` varchar(11) NOT NULL, `NUM_CI` int(11) NOT NULL, `STATUT_POTENTIEL` varchar(11) NOT NULL, `TYPE_SITE_THEORIQUE` varchar(11) NOT NULL, `prio` int(2) NOT NULL, KEY `NUM_SITE_GEO` (`NUM_SITE_GEO`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Le champ `prio` contient l'une des 4 valeurs: 1, 2, 3 ou 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE IF NOT EXISTS `v_abis_routage` ( `Routage_Order` int(2) NOT NULL, `Equipement#` varchar(11) NOT NULL, `SiteGeo_Equipement` varchar(11) NOT NULL, `SiteGeo_Routage` varchar(11) NOT NULL, KEY `SiteGeo_Routage` (`SiteGeo_Routage`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Et un champ `NUM_SITE_GEO` peut avoir plusieurs prio
Voici l'exemple du site "SI147196" qui possède prio=3 et prio=1:
Ce que j'aimerais faire c'est sélectionner les enregistrements ayant la plus haute valeur de 'prio'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO `lister` (`NUM_SITE_THEORIQUE`, `NUM_SITE_GEO`, `NUM_CI`, `STATUT_POTENTIEL`, `TYPE_SITE_THEORIQUE`, `prio`) VALUES ('T18166', 'SI147196', 318008, 'Vivant', 'BSC', 3), ('T18237', 'SI147196', 318266, 'Vivant', 'RN_', 1),
Pour le cas du site 'SI147196', je prend la ligne pour laquelle prio=3 et pas prio=1. Si je n'avais pas prio=3, je prendrais la ligne pour laquelle prio=1.
J'espère que je me suis fait comprendre.
Voilà un début de requête:
Quelle est la requête à utiliser? Merci à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT v_abis_routage.Routage_Order, v_abis_routage.`Equipement#`, v_abis_routage.SiteGeo_Equipement, v_abis_routage.SiteGeo_Routage, lister.NUM_SITE_THEORIQUE, lister.TYPE_SITE_THEORIQUE FROM v_abis_routage, lister WHERE v_abis_routage.SiteGeo_Routage=lister.NUM_SITE_GEO
Cordialement.
Partager