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

Requêtes et SQL. Discussion :

Sélectionner deux fois le même champ avec deux conditions différentes [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 533
    Points : 124
    Points
    124
    Par défaut Sélectionner deux fois le même champ avec deux conditions différentes
    * Bonjour *

    Je fais une requête toute simple :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT totemadm_TBIMMOFI.IMM_CODE, totemadm_TBIMMOPL.D_DEBUT, totemadm_TBIMMOFI.LIBELLE01, totemadm_TBIMMOFI.LIBELLE02, totemadm_TBIMMOFI.LIBELLE03, totemadm_TBIMMOFI.LIBELLE04, totemadm_TBIMMOFI.A01_IMMO, totemadm_TBIMMOCP.GEN_CODE,  totemadm_TBIMMOPL.BASE_AMORT, totemadm_TBIMMOCP.GEN_CODE
    FROM totemadm_TBIMMOAM, totemadm_TBIMMOCP, totemadm_TBIMMOFI, totemadm_TBIMMOPL
    WHERE totemadm_TBIMMOFI.ID_IMMO = totemadm_TBIMMOPL.ID_IMMO
    AND totemadm_TBIMMOPL.ID_IMMO = totemadm_TBIMMOCP.ID_IMMO
    AND totemadm_TBIMMOCP.ID_IMMO = totemadm_TBIMMOAM.ID_IMMO;

    Cependant cela se complique dans le sens où je sélectionne deux fois le champ GEN_CODE ... Cependant il y a une fois où je veux ses valeurs lorsque NUM_LIGNECPT (qui se trouve également dans totemadm_TBIMMOCP) = 01 et la deuxième fois sa valeur quand NUM_LIGNECPT = 02 ...
    J'aimerai que cela s'affiche sur la même ligne ...
    Comment puis-je faire?

    Vous manque t-il des précisions?

    Merci d'avance
    Windows XP
    Delphi 7

    WinDev Mobile 17

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    salut,
    en utilisant un alias tu peux utiliser 2 fois le meme champs dans une requete
    exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Table1.ChampA, Table1.ChampA As PseudoChampB
    FROM Table1;

    Par contre, si tu veux les avoir sur le meme enregistrement, je te recommande une jointure
    Exemple:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Table1.ChampA, PseudoTable2.ChampA As PseudoChampB
    FROM Table1 INNER JOIN Table1 As PseudoTable2 ON Table1.Cleprimaire = PseudoTable2.ClePrimaire
    WHERE Table1.ChampA = "01" AND PseudoChampB = "02"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 533
    Points : 124
    Points
    124
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT totemadm_TBIMMOFI.IMM_CODE, totemadm_TBIMMOPL.D_DEBUT, totemadm_TBIMMOFI.LIBELLE01, totemadm_TBIMMOFI.LIBELLE02, totemadm_TBIMMOFI.LIBELLE03, totemadm_TBIMMOFI.LIBELLE04, totemadm_TBIMMOFI.A01_IMMO, totemadm_TBIMMOCP.GEN_CODE AS [Compte d'acquisition], totemadm_TBIMMOPL.BASE_AMORT, PseudoIMMOCP.GEN_CODE AS [Compte d'Amort]FROM totemadm_TBIMMOAM, totemadm_TBIMMOFI, totemadm_TBIMMOPL, totemadm_TBIMMOCP INNER JOIN totemadm_TBIMMOCP AS PseudoIMMOCP ON totemadm_TBIMMOCP.ID_IMMO = PseudoIMMOCP.ID_IMMO
    WHERE (((totemadm_TBIMMOFI.ID_IMMO)=[totemadm_TBIMMOPL].[ID_IMMO]) AND ((totemadm_TBIMMOPL.ID_IMMO)=[totemadm_TBIMMOCP].[ID_IMMO]) AND ((totemadm_TBIMMOCP.ID_IMMO)=[totemadm_TBIMMOAM].[ID_IMMO]) AND ((totemadm_TBIMMOCP.NUM_LIGNECPT)="01") AND ((PseudoIMMOCP.NUM_LIGNECPT)="02"));
    ça fonctionne, je vous ai mis en gras mes deux champs identiques, si ça peut servir à certaines personnes ...
    Merci en tout cas !!
    Windows XP
    Delphi 7

    WinDev Mobile 17

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

Discussions similaires

  1. Comment lire deux fois la meme table avec une clé différente
    Par Denis_67 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/12/2013, 11h25
  2. Deux count sur même champ avec conditions différentes
    Par steerayInFrance dans le forum Développement
    Réponses: 4
    Dernier message: 14/06/2011, 14h20
  3. Mysqli inserre deux fois la même chose avec id auto increment diffents
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/02/2009, 08h49
  4. requêter deux fois le même champ dans une table
    Par SpaceFrog dans le forum Requêtes
    Réponses: 6
    Dernier message: 26/11/2007, 13h44
  5. Réponses: 7
    Dernier message: 23/07/2006, 18h50

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