Accueil > Forum > > > > Problème de requête de non-correspondance
Problème de requête de non-correspondance
mercredi 5 janvier 2005 à 19:10:27 |
Problème de requête de non-correspondance

dphil94
|
Bonjour a tous...  Voici mon problème ; J'ai 2 tables table1 "qcm_sujet" avec les champs id, sujet, .... table2 "qcm_score" avec les champs id, sujet, nom, .... Je souhaite afficher dans une liste les sujets de la table1 qui ne sont pas saisie dans la table2 pour un nom données (saisie dans un formulaire) : Voici ce que j'arrive à faire sous Access et que je voudrais transposer en PHP et MySQL : Première requête (qcm_score_requete) : SELECT qcm_score.id, qcm_score.sujet, qcm_score.nom FROM qcm_score WHERE (((qcm_score.nom)=[entrez un nom]));
Deuxième requête : SELECT qcm_sujet.id, qcm_sujet.sujet, qcm_sujet.description FROM qcm_sujet LEFT JOIN qcm_score_requete ON qcm_sujet.sujet = qcm_score_requete.sujet WHERE (((qcm_score_requete.sujet) Is Null));
 Quelqu'un pourrait il m'aider à transposer ces deux requêtes en une réquête utilisable en PHP ?  merci d'avance
|
|
jeudi 6 janvier 2005 à 16:39:55 |
Re : Problème de requête de non-correspondance

krevette
|
essai mais je pense que ca devrais fonctionner
je ne comprends pas
pourquoi tu fais deux requete alors qu'avec une ca devrais fonctionner
ou alors il y a des infos spéciale dans une table que n'a pas donné
$sql="SELECT q.id as idSujet, s.id, s.sujet, s.nom FROM qcm_score s, qcm_sujet q WHERE q.sujet = s.sujet AND s.nom='$entrerlenom';"
et maintenant tu peux exécuté le requete et voir le résultat
si ca ne fonctionne pas n'hesite pas a expliquer d'avantage
krevette ;-)
|
|
jeudi 6 janvier 2005 à 18:16:51 |
Re : Problème de requête de non-correspondance

dphil94
|
Je ne souhaite pas faire deux requêtes, pour être plus claire La table qcm_sujet me fournit la liste de sujet par exemple : id sujet 0001 Questionnaire n°1 0002 Questionnaire n°2 0003 Questionnaire n°3 0004 ...
La table qcm_score garde en mémoire les noms des participants, le score qu'ils ont obtenu pour un QCM, le nom du QCM auquel ils ont participé, par exemple : id nom sujet score 0001 Dupont Questionnaire n°1 10 0002 Durant Questionnaire n°1 9 0003 Durant Questionnaire n°2 5 0004 Garcias Questionnaire n°3 8 ...
Les participants sont identifiés par une session. Je voudrais que lorsqu'un participant sélectionne un sujet dans la table qcm_sujet, Le résultat de la requête n'affiche que les sujets auxquel il n'a pas participé, par exemple :
Pour Dupont, la liste n'afficherait pas le Questionnaire n°1 ; Pour Durant, la liste n'afficherait pas les Questionnaire n°1 et 2 ; Pour Garcias, la liste n'afficherait pas le Questionnaire n°3.
D'ou ma requête de non-correspondance
|
|
vendredi 7 janvier 2005 à 09:58:54 |
Re : Problème de requête de non-correspondance

krevette
|
ah ok j'avais bien fais gaffe au LEFT JOIN
ben a ce moment la je pense qu'il suffit de faire comme ca
$sql="SELECT q.id as idSujet, s.id, s.sujet, s.nom FROM qcm_score s, qcm_sujet q WHERE q.sujet != s.sujet AND s.nom='$entrerlenom';"
si ca marche pas mysql accépte les requette imbriquer depuis ca version 4.1
SELECT s.id, s.sujet FROM qcm_sujet s, WHERE s.nom='$entrerlenom' AND s.nom NOT IN (SELECT sujet FROM qcm_score q WHERE q.nom='$entrerlenom');
si ca ne marche toujours pas (mysql version inférieur a 4.1) il faudra séparer les deux requetes
executer celle ci
SELECT sujet FROM qcm_score q WHERE q.nom='$entrerlenom'
créer un liste des sujet de la forme $listeSujet="'sujet1', 'sujet2', 'sujet3'";
SELECT s.id, s.sujet FROM qcm_sujet s, WHERE s.nom='$entrerlenom' AND s.nom NOT IN ($listeSujet);
voila j'espérer que l'une des solutions fonctionnera
krevette ;-)
|
|
samedi 8 janvier 2005 à 13:00:39 |
Re : Problème de requête de non-correspondance

dphil94
|
Merci à krevette, j'ai essayé toutes tes requêtes mais aucune ne correspond à ce que je voulais. J'ai cependant trouver une solution. Voila comment j'ai procèdé des fois que cela serve à quelqu'un :
J'ai créé une table supplémentaire qcm_score_nom avec uniquement le champs sujet. J'utilise une requête d'extraction qui m'alimente cette table : SELECT * FROM qcm_score WHERE nom = '$nom' J'insère dans la table qcm_score_nom le résultat de cette requête : INSERT INTO qcm_score_nom(sujet) VALUES('$sujet') Il me reste ensuite plus qu'a faire ma requête de nom correspondance avec les tables qcm_sujet et qcm_score_nom : SELECT qcm_sujet.id, qcm_sujet.sujet, qcm_sujet.description FROM qcm_sujet LEFT JOIN qcm_score_nom ON qcm_sujet.sujet = qcm_score_nom.sujet WHERE qcm_score_nom.sujet Is Null" Cette requête m'affiche la liste des sujets que la personne n'a pas encore réalisé. Pour finir j'efface les enregistrements de la table qcm_score_nom : DELETE FROM qcm_score_nom Le seul problème qu'il peut y avoir, c'est l'utilisation simultané par plusieurs utilisateurs, cependant l'utlisation étant limité à quelques postes et sur un réseau intranet il n'y a pas de grands risques. Toute fois si quelqu'un à une solution, je suis preneur.
|
|
Cette discussion est classée dans : requête, id, sujet, score, qcm
Répondre à ce message
Sujets en rapport avec ce message
Requête PHP Mysql [ par nino69 ]
Bonjour, j'ai 3 tables: jet_clients, clients_albums et album Note importante la table clients_albums à les deux clés etrangères des deux autre tables.
Somme, valeur unique depuis requête [ par ltab ]
Bonjour,Je cherche en vain depuis des lustres à faire l'addition de champs provenant d'une requête$sql = "select appartement FROM chambres WHERE id =
affichage d'une requête comportant de deux autres requêtes [ par vir76 ]
Je dispose de 3 requêtes :la 1ère :$requête fournitures="SELECT T_ANNEE.ANNEE_ANNEE, T_SOUSDIRECTION.ID_SOUSDIRECTION, T_SOUSDIRECTION.SOUSDIRECTION_N
requête maitre/détail et php [ par ejmana ]
BonjourVoilà mon soucis: je dispose de 2 tables, une contenant un article, avec différentes données, et une contenant les auteurs.Dans la table articl
Liens entre 2 tables [ par patrickrgn ]
Bonjour,J'ai une base de données avec plusieurs tables et je cherche à faire le lien entre la table sujet (id_sujet, nom_sujet, auteur_sujet, id_forum
Problème de requête UPDATE [ par steppenwolf ]
Salut !J'ai un petit souci de requête SQL et en particulier avec la requête UPDATE.Je cherche à mettre un jour un enregistrement dans une table (news)
Requête SQL ne marche pas [ par OneHacker ]
Alors j'ai une table Test avec un champ id(int) et un champ value(car char)voici ma table :0 value01 value1Je fait une requête : // pensez a ouvr
histoire de scores [ par Mastersam ]
Bonjour tout le monde, j'ai un soucis assez particulier mais je pense qu'il doit y avoir une solution.J'ai ma table 'score' avec les champs :ID, membr
requête count [ par Tomcube ]
Salut !J'ai une table news avec mes news, une table commentaires où sont stockés les commentaires de ces news. Dans ma page de news (qui en affiche 30
requête insert [ par youzou ]
Bonjour j'ai une requête insert:$reqexp=" insert into avoir(id_materiel,id_prop,valeur)values('$codemat','$idsysexpl','$exploi');";$resexp = mysql_que
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|