Accueil > Forum > > > > Sous-requête avec MYSQL
Sous-requête avec MYSQL
mardi 23 mai 2006 à 18:26:52 |
Sous-requête avec MYSQL

bonjovi51
|
Bonjour à toutes et à tous 
Je voudrai svoir si MYSQL Supporte les sous requêtes. Si oui, j'aimerai bien voir où se trouve mon erreur.
Voilà, je vous montre ma sous requête.
$queryPseudo=mysql_query("select pseudo from cmjoueur where pseudo not exists (select pseudo from pronojoueur)");
Et voici l'erreur commune qui s'affiche : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/userhtml/b/o/n/bonjovi51/3w/robot/verifauto.php on line 30
Merci pour tout  
--------- le pastis est à consommer avec modération
|
|
mardi 23 mai 2006 à 22:04:45 |
Re : Sous-requête avec MYSQL

FhX
|
Depuis MySQL 4.2 je crois que ca marche.
Par contre, ca marche pas ce que tu veux faire !
SELECT
cmjoueur.pseudo
FROM cmjoueur, pronojoueur
WHERE NOT cmjoueur.pseudo = pronojoueur.pseudo
Et la, ca récupère tout :)
Tu peux faire la même chose avec une jointure explicite de type LEFT JOIN.
|
|
mercredi 24 mai 2006 à 10:50:48 |
Re : Sous-requête avec MYSQL

bonjovi51
|
Je te remercie FhX pour ta réponse. Sinon, je voudrai comparer les enregistrements dans deux tables. En fait, j'aimerai afficher le pseudo de la table cmjoueur qui n'est pas présent dans la table pronojoueur. La requête "SELECT cmjoueur.pseudo FROM cmjoueur, pronojoueur WHERE NOT cmjoueur.pseudo = pronojoueur.pseudo" Que tu m'a filé ne correspond pas à mes attentes. Je pensais qu'un not exists marcherait, mais il n'en est rien. Savez quelle type de requête dois-je utiliser??? Merci, merci  --------- le pastis est à consommer avec modération
|
|
mercredi 24 mai 2006 à 11:52:34 |
Re : Sous-requête avec MYSQL

malalam
|
Hello,
Pourquoi ne correspond elle pas à tes attentes, au juste ?
|
|
mercredi 24 mai 2006 à 12:05:20 |
Re : Sous-requête avec MYSQL

bonjovi51
|
Salut, 
Je vais mieux exposer mon problème. Cette requête me servira à envoyer des mails à des joueurs qui n'ont pas encore pronostiqué leur match 2 jours avant le début du match.
Je cherche donc ses joueurs (dans la table cmjoueur) en faisant de cette manière :
La table pronojoueur enregistre les pronostics et leur pseudo pour plus simple. Donc, je veux regarder si les pseudos de la table cmjoueur existe dans la table pronojoueur. Si ils n'y apparaissent pas, je leur envoie un mail.
Bon, lorque j'ai utilisé cette requête (celle de FhX), il me renvoyait les joueurs ayant pronostiqué. Peut-être l'ai-je mal employé (sûrement même).
Je vais vous donner tout mon code pour vous donner un aperçu.
//Cette requête permet de récupérer tous les joueurs n'ayant pas encore pronostiqué.
$query=mysql_query("SELECT cmjoueur.pseudo FROM cmjoueur, pronojoueur WHERE NOT cmjoueur.pseudo = pronojoueur.pseudo"); while($val=mysql_fetch_array($query)) { echo $val["pseudo"]."<br />"; }
Pour vous donner une idée, il y a 2148 pronostics enregistrés dans la base. Bonjovi a pronostiqué 48 matches. Du coup, lorsque je lance ce script, Bonjovi apparaît 2100 fois à l'echo.
2148-48=2100
Comprenez vous mon problème
Merci, et j'espère avoir été assez clair  --------- le pastis est à consommer avec modération
|
|
mercredi 24 mai 2006 à 12:29:37 |
Re : Sous-requête avec MYSQL

malalam
|
Hello,
ah ouais... si tu ne peux pas faire de sous requêtes, fautr faire ça en 2 temps : SELECT pseudo FROM pronojoueur
Tu stockes les pseudos dans un tableau.
Puis : SELECT pseudo FROM cmjoueur WHERE pseudo NOT IN ('.implode (',', $aPseudos).')
en faisant gaffe aux apostrophes puisque ce sont des chaînes, tes pseudos (le mieux est sans doute de créer la liste des pseudos en dehors de la requête, mais j'avais la flemme).
|
|
mercredi 24 mai 2006 à 12:31:22 |
Re : Sous-requête avec MYSQL

bonjovi51
|
Ok, je te remercie, j'essaie ça tout à l'heure, je vais manger...  --------- le pastis est à consommer avec modération
|
|
mercredi 24 mai 2006 à 14:38:01 |
Re : Sous-requête avec MYSQL

bonjovi51
|
Salut,
J'ai donc fait l'essai avec ce que tu m'as dit de faire Malalam. Le problème est que ma requête ne supporte pas ce genre de bidouuille.
$query=mysql_query("SELECT pseudo FROM cmjoueur WHERE pseudo NOT IN ('bonjovi,bonjovi2,bonjovi3,...,bonjovi51')");
Par contre cette requête
$query2=mysql_query("SELECT pseudo FROM cmjoueur WHERE pseudo NOT IN ('bonjovi')");
Marche parfaitement. C'est bête puisque j'étais près du but. J'ai regardé ma version de mysql. C'est la 4.0.18. Donc ne fonctionne pas avec les sous requêtes.
Merci quand même, je vais voir si il n'y a pas d'autres solutions et je vous la donne si je l'ai trouvée.
--------- le pastis est à consommer avec modération
|
|
mercredi 24 mai 2006 à 14:45:42 |
Re : Sous-requête avec MYSQL

malalam
|
Réponse acceptée !
Tu dois obtenir ceci :
$query=mysql_query("SELECT pseudo FROM cmjoueur WHERE pseudo NOT IN ('bonjovi','bonjovi2','bonjovi3',...,'bonjovi51')");
Mauvais quotes de ta part ;-) Ils doivent délimiter chaque valeur, puisque ce sont des chaînes, pas la liste elle-même.
|
|
mercredi 24 mai 2006 à 14:59:49 |
Re : Sous-requête avec MYSQL

bonjovi51
|
Merci Malalam,
Ca a marché. Pour ceux qui ça intéresse, je vais donner la solution que j'ai trouvé (enfin, euh...Malalam surtout). Putain de Mysql à la c..
//Cette requête permet de récupérer tous les joueurs de la table où ils sont tous stockés. $tabPseudos=array(); $query=mysql_query("select distinct(pseudo) from pronojoueur"); while($val=mysql_fetch_array($query)) { $pseudos = "'".$val["pseudo"]."'"; array_push($tabPseudos,$pseudos); }
$index=1;
//A partir de la récupération de tous les joueurs, cette requête permet de récupérer tous les joueurs n'ayant pas du tout pronostiqué
$query2=mysql_query("SELECT pseudo FROM cmjoueur WHERE pseudo NOT IN (".implode (',',$tabPseudos).")"); while($val2=mysql_fetch_array($query2)) { echo $index.' - '.$val2["pseudo"]."<br />";; $index=$index+1; }
Bye et à bientôt...
--------- le pastis est à consommer avec modération
|
|
Cette discussion est classée dans : mysql, erreur, requête, select, pseudo
Répondre à ce message
Sujets en rapport avec ce message
## Où est l'erreur ???? bon diou !! [ par kodiask ]
voila dite moi pourkoi lorsque je met le code la, il n'y a rien ki saffiche ? (c un système de citation aléatoire)mysql_select_db('cit_tbl',$db); $que
sil vou plé où est l'erreur ? [ par kodiask ]
voilà g fai un système de citation au hazard et kanje met le code là il maffiche rien du tout , pourkoi ? merci ....mysql_select_db('cit_tbl',$db); $q
aucune erreur mais ca bloque l'exécution du script [ par Arrenzillennubbard ]
Bonjour,Voila j'essaye de faire un système de validation d'achat et de "paniers" mais a chaque fois le script ne se déroule pas jusqu'au bout. le serv
erreur mysql, au sekour! [ par aze555666 ]
voila ce que je tape:SELECT qu,rep,no FROM '1' WHERE no='127'.voila ce que mysql me dit: SELECT qu<SPA
Erreur incomprise... [ par Ang3lo ]
Bonjours à tous, Je suis en train de développer un script d'identification mais j'ai un problème : une erreur m'est indiqué et je ne sais pas pourquoi
Erreur de connexion ?! [ par Tilix ]
Salut, Alors voilà, j'vous donne ma fonction et mon problème : require ("inc/sql.inc.php"); $select = "SELECT * FROM Table WHERE id='".$_GET['Mes
modification de données [ par 01cod10 ]
Salut,* Est il bon de proposer dans un espace membre une modification des données personnelles à chaque membre.* Si oui voici ce que j'ai comme code
erreur php [ par MisterRack ]
Bonjour à tous ! J'ai un petit problème... Voila en fait j'ai créé un fichier config.ini dans lequel j'ai inscrit la variable suivante : $body = "
Erreur MySQL [ par Arnauti ]
Bonjour a tous, je veux insérer quelque chose dans ma base de donnée mais il y a un bug et je ne comprends pas du tout pourquoi ca ne marche pas. Voic
Probleme avec Update [ par shadow1779 ]
bonjour,j'essai de faire une requete update sur une table, la table existe et le pseudo aussi mais j'ai une erreur, et je ne vois pas le probleme de s
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
Forum
SELECTSELECT par hab2oo
Cliquez pour lire la suite par hab2oo
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
|