Bonjour à tous,
Je suis un débutant de Mysql (les tutos de ce site m’ont bien aidés :) ) et j’ai un problème pour retranscrire une partie de ma requête que j’avais réalisé avec Access vers Mysql.
Voici la requête en question (Sous Access) :
Exemples de mes tables :Code:
1
2
3 SELECT Mid(SERVEUR.SER_IP,1,InStr(8,[SER_IP],'.')-1) AS TEST, SERVEUR.SER_NETBIOS, SERVEUR.SER_IP, agence.agence, agence.id_agence FROM SERVEUR, agence WHERE (((Mid(SERVEUR.SER_IP,1,InStr(8,[SER_IP],'.')-1))=agence.reseau))
Code:
1
2
3
4
5
6 CREATE TABLE Agence (Col1 id_agence PRIMARY KEY, Col2 agence, Col3 ville, Col4 reseau )
Code:
1
2
3
4 INSERT INTO Agence (COL1, COL2, COL3) VALUES (56, NANTERRE SIEGE, NANTERRE, 11.155.206) INSERT INTO Agence (COL1, COL2, COL3) VALUES (75, PARIS MAINTENANCE, PARIS, 11.155.95)
Code:
1
2
3
4
5 CREATE TABLE SERVEUR (Col1 id_agence PRIMARY KEY, Col2 SER_NETBIOS Col3 SER_IP )
Ce que j’obtiens :Code:
1
2
3
4 INSERT INTO IPAY (COL1, COL2, COL3) VALUES (56, REZNANTE01, 11.155.206.13 INSERT INTO IPAY (COL1, COL2, COL3) VALUES (75, REZPARIS01, 11.155.95.03
Code:
1
2
3
4
5
6 -- Le résultat attendu : TEST reseau agence SER_IP id_agence ------ ---------- ------- ------ -------- 11.155.206 REZNANTE01 NANTERRE SIEGE 11.155.206.13 56 11.155.95 REZPARIS01 PARIS MAINTENANCE 11.155.95.03 75 ...
Grâce a cette requête j’arrive à obtenir le Reseau de l’agence grâce a l’IP de 3 octets seulement.
Lorsque j’ai voulu passer cette requête sous MySQL, la fonction INSTR n’était pas la même.
Il fallait que je replace INSTR par POSITION.
J’ai donc testé ma nouvelle requête en local avec phpmyadmin 2.2.6 :
Voila le message d'erreur.Code:
1
2
3 SELECT Mid(SERVEUR.SER_IP,1,POSITION(8, SER_IP, '.')-1) AS TEST, SERVEUR.SER_NETBIOS, SERVEUR.SER_IP, agence.agence, agence.id_agence FROM SERVEUR, agence WHERE (((Mid(SERVEUR.SER_IP,1,POSITION(8,[SER_IP],'.')-1))=agence.reseau))";
Citation:
MySQL a répondu:
Something is wrong in your syntax près de ' SER_IP, '.')-1) AS TEST, SERVEUR.SER_NETBIOS, SERVEUR.SER_IP, a' à la ligne 1
J’en conclu que le problème viens de la fonction POSITION. J’ai beau tester différent type de combinaison ça ne marche toujours pas:/
J’espère que j’ai été assez clair ^^
Merci