begin process at 2012 05 31 12:27:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problème comparaison entre deux requetes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème comparaison entre deux requetes

dimanche 8 avril 2007 à 21:18:47 | Problème comparaison entre deux requetes

jumano

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]
 
<?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);
?>
[/code]
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.
dimanche 8 avril 2007 à 21:27:11 | Re : Problème comparaison entre deux requetes

FhX

SELECT ..... WHERE NOT IN ( SELECT ..... )

Il faut imbriquer les SELECT pour obtenir ce que tu veux.
dimanche 8 avril 2007 à 21:51:05 | Re : Problème comparaison entre deux requetes

jumano

J'ai modifié pma deuxième requete coomme ceci :
<?php
$idcourar = $_GET['id_courar'];

mysql_select_db($database_CnxCourrier, $CnxCourrier);
$query_rsBureaux = "SELECT bureau.ID_BUREAU, bureau.BUREAU FROM bureau WHERE bureau.ID_BUREAU NOT IN (SELECT affectation.ID_COURAR, affectation.ID_BUREAUACT, affectation.ID_BUREAUINF FROM affectation WHERE affectation.ID_COURAR='$idcourar')";
$rsBureaux = mysql_query($query_rsBureaux, $CnxCourrier) or die(mysql_error());
$row_rsBureaux = mysql_fetch_assoc($rsBureaux);
$totalRows_rsBureaux = mysql_num_rows($rsBureaux);
?>
J'obtient le message d'erreur suivant :
"Operand should contain 1 column(s)".

dimanche 8 avril 2007 à 22:26:41 | Re : Problème comparaison entre deux requetes

FhX

Réponse acceptée !
 (... WHERE bureau.ID_BUREAU <> SELECT affectation.ID_COURAR, affectation.ID_BUREAUACT, affectation.ID_BUREAUINF ... )

Voila ce que donne ta requète écrite comme tu l'as fait.

Il faut faire un select que sur le numéro d'ID_bureau.
On compare des numéros d'ID ici... et toi tu lui mets 3 colonnes d'un coup !

Lui il n'en veux qu'une seule, voila pourquoi il te dit erreur ^^
dimanche 8 avril 2007 à 22:36:17 | Re : Problème comparaison entre deux requetes

jumano

Merci des conseils, cela fonctionne impec avec la requête suivante :

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')

Meri encore


Cette discussion est classée dans : mysql, bureau, id, affectation, rsaffectation


Répondre à ce message

Sujets en rapport avec ce message

problème de mise à jour de base de données [ par rildspael ] Ben en fait maintenant j'ai refait ce code, je me suis concentré, j'ai tout analysé mais rien ne marche encore et je ne comprends pas : le voici :Donc Afficher une ligne d'une table mysql [ par Alferox ] Bonjours,bon bin une question de base toute con.Je voudrais afficher uniquement la ligne qui port l'id 2 d'une table. Il n'y a pas plus simple que de mysql_fetch_row [ par angelique ] Bonjour,Après avoir rempli un formulaire, je voudrais utiliser les résultats d'une requête pour alimenter une autre table de ma base :$resultatid = my Pb Requet SQL [ par NoMitsu ] Voila je debute avec Php et MySql et j'ai quelque probleme pour faire marcher cette requet si quelqu'un pouvais me dire se qui cloche merci d'avance$c Sélectionner les lignes différentes entre deux tables [ par Mikemadest ] Bonjour,J'ai cherché sans trouver de réponse à mon problème,ce qui m'amène à vous poser cette question !D'avance je m'excuse si j'ai raté la solution Prob requete mysql [ par zzzzzz ] salut phpmyadmin me genere ca j'aimerai faire un champ qui s'auto incremente mais ca marche pas la requete de phpmyadmin:Erreurrequête SQL : ALTER T Recup de donnee dans MYSQL par ID du plus recent au plus ancien [ par jf2402 ] Salut,Je voudrais savoir comment récupérer mes enregistrements d'une table de ma base de donnée MYSQL en les classants du plus récent ID au plus ancie Mysql_insert_id() -> Problme -> A l'aide [ par Samiby ] J'ai une fonction d'exécution de requêtes avec déconnexion automatique (pour faire une connexion la moins lonque possible).function query_db($query) php/mysql erreur incomprehenssible <help> [ par luccs ] bonjour, voila j ais fait un petit script qui va gentilment afficher les details d un fournisseur (lister dans une box)mais voila il plante quand l id MySQL : changement de l'ID dans une table [ par DJDX ] Bonjour groupe!Ma question peut parraître simple, mais je n'ai aucune idée comment résoudre mon "problême".si je tape ce codemysql_select_db($base,


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales