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

Langage SQL Discussion :

PROBLEME DE JOINTURE ENTRE DEUX TABLE


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Bonjour a tous,


    J'ai une base de donnée avec une table intervention et une table depannage.

    LE PROBLEME est qu'une intervention peut etre ouvert mais elle n'a pas dés le debut un depannage.

    lorsque je fais un select classique t_inter, t_depannage Where t_inter.id_inter=t_depannage.id_inter CA ME DONNE QUE LES INTERVENTION QUI ONT UN DEPANNAGE

    et si j'utilise un left ou right join ca me donne toutes les intervention qu'elle est ou non de dépannge


    MOI JE SOUHAITERAI RECUPERER TOUTES LES INTERVENTIONS QUI NON PAS DE DEPANNAGE

    COMMENT FAIRE

    merci d'avance pour votre aide

  2. #2
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Salut,

    si ton SGBD supporte les requêtes imbriquées tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT t_inter.inter_id
    FROM t_inter
    WHERE t_inter.inter_id NOT IN (SELECT DISTINCT t_depannage.inter_id
                                                  FROM t_depannage)
    Tu obtiendras ainsi toutes les interventions qui n'apparaissent pas dans la table des dépannages

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    JE VIENS D'ESSAYER CA

    $j=1;
    $result_inter=mysql_query("SELECT t_inter.id_inter FROM t_inter WHERE t_inter.id_inter NOT IN (SELECT DISTINCT t_depannage.id_inter FROM t_depannage)");
    WHILE($res_inter=mysql_fetch_array($result_inter))
    {
    $idtachedep.$j=$res_tache[id_inter];
    $j=$j+1;
    }


    ET VOICI L'ERREUR
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\intervention\intervention.php on line 52

    SGBD : mysql (easy PHP 1.6)
    Language PHP4

    Je pense qu'il n'arrive pas a interpréter la requete

    Merci pour ton aide et aurais tu une solution

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Tu peux tenter une jointure externe en précisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t_depannage.id_inter is null
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Ta version de mySQL ne supporte pas les requêtes imbriquées (< 4.1 sans doute)
    Tu peux tenter une jointure externe en précisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t_depannage.id_inter is null
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    J'ai essayé ceci :

    SELECT * FROM t_inter, t_depannage WHERE t_depannage.id_inter is null
    SELECT t_inter.id_inter FROM t_inter, t_depannage WHERE t_depannage.id_inter is null

    mais cette fois ci il ne m'affiche acun resultat et aucune erreur a l'ecran

  7. #7
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    C'est ce que je craignais, tu utilise un MySql de version antérieure à la 4.1, donc pas de requêtes imbriquées!!

    Tu devrais plutôt donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT t_inter.* FROM t_inter LEFT JOIN t_depannage
     
    			ON t_inter.id_inter=t_depannage.id_inter
     
    			WHERE t_depannage.id_inter IS NULL

  8. #8
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    tu as oublié de faire le LEFT JOIN adéquat.

    SELECT t_inter.id_inter
    FROM t_inter LEFT JOIN t_depannage on t_inter.id_inter = t_depannage.id_inter
    WHERE t_depannage.id_inter is null
    @+

  9. #9
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Trop tard

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci ca marche

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci ca marche

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci ca marche

  13. #13
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Eh bien dis moi, ca marche fort!!! (3 fois)

    N'oublies pas le TAG [RESOLU]

    A+

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    [RESOLU]

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

Discussions similaires

  1. Jointure entre deux tables ?
    Par spirit69 dans le forum Access
    Réponses: 2
    Dernier message: 05/12/2006, 20h21
  2. jointure entre deux tables mysql
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 23/04/2006, 20h08
  3. [MySQL] probleme de jointure entre 2 tables
    Par guy2004 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 30/10/2005, 14h11
  4. [MySQL] Jointure entre deux tables
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2005, 18h55
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

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