IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Problème création requête de comparaison


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Par défaut Problème création requête de comparaison
    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.

    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
    J'obtiens bien le résultat escompté, les 4 derniers chiffres remontent.

    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 :
    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' ;
    Requête :
    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
    );
    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

    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.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Vous n'obtenez pas le résultat voulu, car votre variable contient un scalaire, alors que vos tables contiennent plusieurs lignes. Au final, votre variable ne contiendra donc la valeurs que pour l'une de ces lignes...

    mais vous pouvez vous passer de cette variable et tout faire dans une seule requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT *
    FROM     AD
    INNER JOIN Tel
        ON Tel.Profil = AD.Accountname 
    WHERE SUBSTRING(TelephoneNumber,13,2)+SUBSTRING(TelephoneNumber,16,2)  <> No_Annuaire

Discussions similaires

  1. [AC-2003] Problème création de requête avec VBA
    Par Sylas dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/11/2012, 14h35
  2. Problème de requête de création de tables
    Par Kawabaumga dans le forum Développement
    Réponses: 8
    Dernier message: 30/04/2010, 16h25
  3. Problème de création requête en LINQ
    Par krovomi dans le forum Linq
    Réponses: 2
    Dernier message: 30/10/2009, 15h01
  4. Problème création de requête SQL
    Par Snowwolf dans le forum Débuter
    Réponses: 2
    Dernier message: 06/03/2008, 15h16
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo