GROUP BY: comment "conserver" les champs hors du group by
Bonjour,
Soit la table suivante
Code:
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:
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:
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