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 :

Jointure entre 2 tables avec des champs de types différents


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Points : 57
    Points
    57
    Par défaut Jointure entre 2 tables avec des champs de types différents
    Bonjour,

    j'ai deux tables sur lequel je voudrai faire des jointures sur 2 champs, identifiant et taille.
    dans la table 1, l'identifiant et la taille sont en long et integer, et dans la table 2, l'identifiant est en long et la taille en string.
    Donc quand je fais la liaison, on aura une erreur parce que les types sont différents, comment faire pour faire une jointure en changeant le type?

    P.S.: Je ne peux pas changer le type du champ et je travaille sur Access.

    Merci de votre aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par qltmi Voir le message
    j'ai deux tables sur lequel je voudrai faire des jointures sur 2 champs, identifiant et taille.
    dans la table 1, l'identifiant et la taille sont en long et integer, et dans la table 2, l'identifiant est en long et la taille en string.
    Il est de quelle taille le string ?
    Hum...
    Il faut utiliser une fonction de conversion pour convertir la taille du string en integer.
    Malheureusement, je n'ai plus fait d'Access depuis un bout de temps et je ne peux pas vous donner la syntaxe.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    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 586
    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 586
    Points : 34 255
    Points
    34 255
    Par défaut
    salut,
    comme l'a dit CinePhil (que je salue au passage ), les fonctions de conversion ou cast sont à utiliser, à voir donc :
    -CInt()
    -CDbl()
    -CStr()
    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

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour, cinephil ,

    Il est de quelle taille le string ?
    Hum...
    Si tout est en relation... énorme car
    l'identifiant est en long


    En QBE ce doit être "CEnt" et en SQL "CInt".

    Pour changer le Integer en caractère utilisez "CChaîne" en QBE et "CStr" en SQL.

    J'espère que c'est ce que vous cherchez ?



    [Edit]: Grilled !
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    j'ai essayé vos fonctions de convertion directement dans la jointure mais ça ne marche pas, par contre si je le fais dans la condition Where ça marche très bien, mais ça ne me convient pas trop parce que je viens faire un left join...
    La seule solution que j'ai trouvé c'est d'utiliser la fonction de conversion dans une requête temporaire et faire la jointure sur cette requête... mais je voudrai éviter de créer des requêtes temporaires (ou intermédiaire) à chaque fois que j'en ai besoin...

    (Et bravo pour la blague Chtulus elle est pas mal.)

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/09/2013, 11h07
  2. créer une table avec des colonnes de types différents
    Par d_hazem dans le forum Composants
    Réponses: 1
    Dernier message: 15/01/2009, 16h23
  3. Réponses: 4
    Dernier message: 22/11/2007, 20h23
  4. [D7],[ADO] : ordonner une table avec des champs référencés
    Par iam dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/11/2006, 22h36
  5. Jointure de 3 tables avec un champ commun
    Par desperado007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/08/2005, 16h35

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