Bonjour,
Soit la table suivante
NB: le joker * est toujours à la fin de la regle
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"
Comment obtenir
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)
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"
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
Partager