Bonjour à tous.
En ce moment, je rencontre en souci sur la création d'une requête SQL. Ayant quelques notions dans ce domaine, j'ai réussi à me débrouiller mais là, je cale.
Ça à l'air simple à première vu, comparer les données de deux tables.
Je vais essayer d'être le plus clair possible
Voici mon souci ;
J'ai 2 tables, Tel et AD: voici les champs que je dois comparer et remonter les erreurs d'entrée.
AD contient => Accountname et TelephoneNumber.
Tel contient => Profi et No_annuaire.
Accountname et Profil ont des données identique (ex : FrDupontNi)
TelephoneNumber contient le numéro complet (ex : 03.83.07.65.42)
No_Annuaire contient les 4 derniers chiffre de TelephoneNumber (ex : 6542)
Au début, j'ai essayer de concaténer le numéro TelephoneNumber pour après le comparer à No_annuaire, avec la requête ci-dessous.
J'obtiens bien le résultat escompté, les 4 derniers chiffres remontent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 USE Projet; ;SELECT SUBSTRING(TelephoneNumber,13,2)+SUBSTRING(TelephoneNumber,16,2) from AD
Je cale pour la suite.
Je pensais qu'en créant une variable avec ma requête au-dessus et l'appeler dans une requête de comparaison :
Variable :
Requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DECLARE @ADNumber nvarchar(4) SET @ADNumber = 'SELECT SUBSTRING(TelephoneNumber,13,2)+SUBSTRING(TelephoneNumber,16,2) from AD' ;
Mais j’obtiens pas le résultat voulu. J'ai essayé de rechercher sur le net ou dans des bouquins, j'ai pas trouvé de solution à mon cas, d’où ma présence ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT @ADNumber, No_annuaire, Accountname FROM Tel, AD WHERE No_annuaire NOT IN( SELECT @ADNumber );
Sachant que je dois comparer les données contenu dans TelephoneNumber avec celle de No_annuaire. Et afficher les erreurs avec le compte utilisateur lié au numéro.
En vous remerciant d'avance pour votre aide apportée.
Partager