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

PHP & Base de données Discussion :

Comparaison sur deux requêtes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut Comparaison sur deux requêtes
    Bonsoir,
    J'ai deux tables :
    La premiere qui se nomme 'affectation' avec les champs suivants :
    ID_AFFECT, ID_COURAR, ID_BUREAUACT et ID_BUREAUINF.
    La seconde 'bureau' avec les champs suivants :
    ID_BUREAU et BUREAU.
    Je fais deux requêtes :
    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
    16
    17
    18
     
    <?php
    $colname_rsAffectation = "-1";
    if (isset($_GET['id_courar'])) {
      $colname_rsAffectation = (get_magic_quotes_gpc()) ? $_GET['id_courar'] : addslashes($_GET['id_courar']);
    }
    mysql_select_db($database_CnxCourrier, $CnxCourrier);
    $query_rsAffectation = sprintf("SELECT affectation.ID_COURAR, affectation.ID_BUREAUACT, affectation.ID_BUREAUINF FROM affectation, bureau WHERE affectation.ID_COURAR='%s' ", $colname_rsAffectation);
    $rsAffectation = mysql_query($query_rsAffectation, $CnxCourrier) or die(mysql_error());
    $row_rsAffectation = mysql_fetch_assoc($rsAffectation);
    $totalRows_rsAffectation = mysql_num_rows($rsAffectation);
     
    mysql_select_db($database_CnxCourrier, $CnxCourrier);
    $query_rsBureaux = "SELECT bureau.ID_BUREAU, bureau.BUREAU FROM bureau ORDER BY bureau.ID_BUREAU ASC";
    $rsBureaux = mysql_query($query_rsBureaux, $CnxCourrier) or die(mysql_error());
    $row_rsBureaux = mysql_fetch_assoc($rsBureaux);
    $totalRows_rsBureaux = mysql_num_rows($rsBureaux);
    ?>
    La première requête m'indique les identifiants des bureau ayant eu pour affectation un courrier soit pour ACTION(id_bureauact) soit pour INFO(id_bureauinf).
    La seconde me renvoi l'ensemble de la liste des bureaux existants.
    Mon soucis est le suvant :
    Je n'arrive pas à trouver la façon de comparer ces deux requêtes afin de ressortir la liste des bureaux qui n'ont pas eu d'affectation.
    Merci.

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    J'ai trouvé une solution à mon problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT bureau.ID_BUREAU, bureau.BUREAU
    FROM bureau
    WHERE bureau.ID_BUREAU NOT IN (SELECT affectation.ID_BUREAUACT FROM affectation WHERE affectation.ID_COURAR='idcourar') AND bureau.ID_BUREAU NOT IN (SELECT affectation.ID_BUREAUINF FROM affectation WHERE affectation.ID_COURAR='idcourar')

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

Discussions similaires

  1. [XL-2007] Comparaison sur deux colonnes excel plus traitement
    Par guiltyspark dans le forum Excel
    Réponses: 5
    Dernier message: 04/03/2011, 10h53
  2. Réponses: 5
    Dernier message: 10/06/2009, 11h01
  3. Sql perte de données sur deux requêtes
    Par parasol007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/06/2008, 17h37
  4. Enigme sur deux requêtes apparemment semblables
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/02/2008, 14h10
  5. Réponses: 14
    Dernier message: 04/12/2006, 11h22

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