Bonjour,

Soit la table suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
JOINTURE
IP             ;REGLE          ;NOM
192.168.000.001;192.168*       ;"réseau local";...
192.168.000.001;192.168.000*   ;"réseau local / sous réseau 0";...
192.168.000.001;192.168.000.001;"machine à toto";...
192.168.000.002;192.168*       ;"réseau local";...
192.168.000.002;192.168.000*   ;"réseau local / sous réseau 0";...
192.168.000.002;192.168.000.001;"machine à dede";...
127.000.000.001;127.000.000.001;"moi-meme"
NB: le joker * est toujours à la fin de la regle

Comment obtenir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
192.168.000.001;192.168.000.001;"machine à toto";...
192.168.000.002;192.168.000.001;"machine à dede";...
127.000.000.001;127.000.000.001;"moi-meme"
Comme si on faisait un group by sur la colonne IP et que l'on conservait tous les champs associés à la règle la plus discriminante (length(regle) la plus longue)

Si ça peut aider au lieu de considérer la table jointure, a l'origine j'ai pluôt les 2 tables suivantes
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
 
Adresses_IP  
[IP,...,..]
192.168.000.001;...
192.168.000.002;...
127.000.000.001;...
 
 
Regles     
[REGLE,NOM,...]
192.168*      ;"réseau local";...
192.168.000*   ;"réseau local / sous réseau 0";...
192.168.000.002;"machine à toto";...
192.168.000.001;"machine à dede";...
127.000.000.001;"moi-meme"


D'avance merci,

Vincent