Bonjour,

je possède 2 tables ayant les structures suivantes:
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;
Et:
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;
Le champ `prio` contient l'une des 4 valeurs: 1, 2, 3 ou 4.
Et un champ `NUM_SITE_GEO` peut avoir plusieurs prio

Voici l'exemple du site "SI147196" qui possède prio=3 et prio=1:

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),
Ce que j'aimerais faire c'est sélectionner les enregistrements ayant la plus haute valeur de 'prio'.
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:
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
Quelle est la requête à utiliser? Merci à vous.

Cordialement.