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

Bases de données Delphi Discussion :

Requête union sans champs commun


Sujet :

Bases de données Delphi

  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut Requête union sans champs commun
    Hello,

    Je travaille sur des données qui me sont fournies sous forme de fichiers DBF.

    Je voudrais faire une requête union sur deux tables qui n'ont pas de champs communs mais qui ont une correspondance sur les numéros d'enregistrement.

    Est-il possible de faire une jointure sur ce "Pseudo Champs" ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Tu peux faire une union entre des champs de même type à condition de passer par des alias.
    Donne tes structures de donnée pour voir
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Merci pour la rapidité de la réponse.

    Table 1 MergedCaPa.Dbf

    Champs 1 : CapaKey Char(17)
    Champs 2 : CapaTu Char(2)
    Champs 3 : Shape_Area Numérique Taille 12 Décimales 4

    Table 1 MergedCaNu.Dbf

    Champs 1 : CaNuAn Numérique Taille 8 Décimales 3
    Champs 2 : CaNuTx Char(11)

    Même nombre d'enregistrements.
    Une solution alternative à une requête union sur le numéro d'enregistrements pourrait être la fusion des deux tables mais je ne sais comment faire en une seule opération sans passer par une boucle qui risque d'être longue.

  4. #4
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    Moi, j'ajouterais un champ auto-incrémenté à chacune des deux tables et j'utiliserais ça pour la jointure. Sinon fais ta boucle, c'est pas forcément si lent que ça.

  5. #5
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Quelle est la relation entre tes deux tables ?

    si tu souhaites obtenir la concaténation de tes deux tables en une seule
    sans relation définie alors je te propose la requête suivante

    sel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select 'MergedCaPa' as Provenance, T1.CapaKey as Clef, cast(T1.CapaTu as char(11)) as Tu, T1.Shape_Area as Num
      from MergedCaPa.Dbf T1
    
     UNION
    
    Select 'MergedCaNu' as Provenance, '' as Clef, T2.CaNuAn as Tu, cast(T2.CaNuAn as numeric(12,4)) as Num
      from MergedCaNu.Dbf T2
    Maintenant à toi de voir dans quelle mesure cela est intelligent
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/04/2010, 13h36
  2. Paramétre sous un champ d'une requête union
    Par Philippe608 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/01/2008, 13h45
  3. [ACCESS 97] Requête Union, Ajout de champ
    Par AGR26 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/09/2007, 08h55
  4. Requête UNION avec champ Oui/non
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 01/08/2006, 08h36
  5. [MySQL] Requête SQL selectionner l'id d'une table sans clef commune
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 36
    Dernier message: 03/02/2006, 09h27

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