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 :

Comment lire deux fois la meme table avec une clé différente


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut Comment lire deux fois la meme table avec une clé différente
    Bonjour,

    J'ai récupéré une query sous excel par tatonnement j'ai réussi à collecter certaines informations.
    Cependant j'ai besoin de lire une table y collecter un champ.
    Puis de rappeler la même table avec une autre clé pour lire le même champ.

    Je lit le champ string02 de la table Z_LOT_NO_CHARACTERISTIC avec la clé APR_Inventory.LotNo.
    Je lis aussi la table Genealogy où j'obtient un champ Genealogy.ParentLotNo.

    J'aimerais refaire un inner join comme suite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " INNER JOIN [flexnet].[dbo].[Z_LOT_NO_CHARACTERISTIC] ON Z_LOT_NO_CHARACTERISTIC.LotNo = genealogy.parentlotno " & _
    Pour récupérer un nouvelle fois le champ String02 de Z_LOT_NO_CHARACTERISTIC avec la valeur genealogy.parentlono

    Je me doute qu'il faille déclarer cette table en alias j'ai essayé avec une <*> devant et après, mais ça ne passe pas

    Voici un extrait du code comme il se présente.
    Il fonctionne jusqu'à ce niveau, mais je ne sais pas relire
    Z_LOT_NO_CHARACTERISTIC.

    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
     
        'Set and Excecute SQL Command'
            Set objMyCmd.ActiveConnection = objMyConn
            objMyCmd.CommandText = "SELECT container.Container, Product.ProductNo, TT_Prod.Medium, string02, APR_Inventory.LotNo, Container.Warehouse, APR_Inventory.Location, TT_Comment.Extended, Genealogy.ParentLotNo" & _
            " FROM [MaBase].[dbo].[Inventory_Container]" & _
            " INNER JOIN [MaBase].[dbo].[Container] ON container.container = inventory_container.container" & _
            " INNER JOIN [MaBase].[dbo].[inventory] ON ID = Inventory_container.inventoryID " & _
            " INNER JOIN [MaBase].[dbo].[APR_Inventory] ON APR_Inventory.InventoryId = Inventory.ID  " & _
            " INNER JOIN [MaBase].[dbo].[LOT_NO] ON [MaBase].[dbo].[LOT_NO].[LotNo] = APR_Inventory.LotNo" & _
            " INNER JOIN [MaBase].[dbo].[Z_LOT_NO_CHARACTERISTIC] ON [MaBase].[dbo].[Z_LOT_NO_CHARACTERISTIC].[LotNo] = APR_Inventory.LotNo" & _
            " INNER JOIN [MaBase].[dbo].[PRODUCT] ON PRODUCT.ID = [MaBase].[dbo].[inventory].ProductID" & _
            " INNER JOIN [MaBase].[dbo].[TEXT_TRANSLATION] AS TT_Prod ON TT_Prod.TextID = PRODUCT.TextID AND TT_Prod.LanguageID = '1036'" & _
            " INNER JOIN [MaBase].[dbo].[TEXT_TRANSLATION] AS TT_Comment ON TT_Comment.TextID = LOT_NO.TextID AND TT_Comment.LanguageID = '1036'" & _
            " INNER JOIN [MaBase].[dbo].[Genealogy] ON genealogy.LotNo = inventory.lotno " & _
            " WHERE Container.Container like '" + Worksheets("ProtectedSheet").Cells(1, 1).Value + "%'"
    Je ne sais pas si je suis sur le bon forum, je suis un habitué d'Excel, mais je pense que ma concerne plus SQL.
    Merci de vos conseils
    Denis

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Points : 586
    Points
    586
    Par défaut
    Est ce qu'un alias ne règle pas le problème ? (j'avoue, j'ai pas tout lu)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INNER JOIN [flexnet].[dbo].[Z_LOT_NO_CHARACTERISTIC] AS L_Autre_Cle ON L_Autre_Cle.LotNo = genealogy.parentlotno

  3. #3
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut
    Merci Donpi,

    La séquence d'alias fonctionne !!!

    J'ai un autre soucis la requête se fiche sur la première occurence pour deux tables liées.
    Mais c'est peut-être l'index qui n'est pas bon
    Je vais explorer avant de poster éventuellement.

    Denis

  4. #4
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut
    C'est bon ca marche, je n'avais pas assez d'occurences d'affichées.

    MERCI ENCORE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/01/2012, 13h13
  2. Réponses: 7
    Dernier message: 30/10/2007, 16h35
  3. Lire deux fois un inputstream
    Par Guybrush dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 05/09/2005, 14h50
  4. Réponses: 11
    Dernier message: 02/02/2005, 12h52
  5. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38

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