Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : une requete sur 2 tables [ Base de données / MySQL ] (David_monchy)

vendredi 16 juin 2006 à 11:03:17 | une requete sur 2 tables

David_monchy

bonjour,
je voudrais faire cet algo:
on récupère les user enregistrés mais pas ceux bannis.
j'ai une table utilisateurs, et une table pour les bannis. Tous les utilisateurs sont dans la table utilisateur, et les bannis sont dans la table des bannis. Cela signifie donc que les bannis sont inscrits deux fois dans les tables (dans la table utilisateur et la table bannis). Je voudrais récupérer les utilisateurs non bannis. j'ai fait cela:
SELECT id_user,pseudo FROM chat_user WHERE pseudo != ALL ( SELECT pseudo FROM chat_bannis ) ORDER BY pseudo
mais cela me retourne une erreur entre le != et le ALL. Y aurait-il des pros en SQL pour m'aider?
Merci d'avance.
David

vendredi 16 juin 2006 à 11:19:10 | Re : une requete sur 2 tables

PoFMaN

Salut,

Tu peut faire une requete comme ca:

select cuser.id_user, cuser.pseudo from chat_user cuser, chat_bannis cban where cuser.pseudo!=cban.pseudo order by cuser.pseudo

Les cuser et cban c'est des "alias" des noms des tables c'est pour pas avoir à réecrire tout le nom de la table

Par contre du devrai mettre les identifiant des utilisateurs dans ta table des bannis au lieu du pseudo, ou alors si chaque pseudo est unique vaut mieu mettre le pseudo en identifiant (ca fait une colonne de moin et ca t'évite des tests et les possibles erreurs qui vont avec)


vendredi 16 juin 2006 à 11:25:05 | Re : une requete sur 2 tables

prolix

salut,

et avec not in   ?    (au passage != serait plutot <>)

SELECT id_user,pseudo FROM chat_user WHERE pseudo
NOT IN( SELECT pseudo FROM chat_bannis ) ORDER BY pseudo

vendredi 16 juin 2006 à 11:29:03 | Re : une requete sur 2 tables

PoFMaN

pourquoi <> plutot que !=? Sous Oracle et MySQL j'ai toujours utilisé !=

vendredi 16 juin 2006 à 11:36:39 | Re : une requete sur 2 tables

prolix

ah bon
alors ok, je le note

vendredi 16 juin 2006 à 13:38:58 | Re : une requete sur 2 tables

David_monchy

salut,
bon, aucune des deux solutions ne fonctionne. pour celle de prolix, il me met une erreur entre le 'NOT IN( 'et le 'SELEcT'. Pour pofman, la requete s'exécute mais elle ne renvoie rien, alors que mes utilisateurs ne sont pas tous bannis. Auriez-vous une autre idée?
David

vendredi 16 juin 2006 à 14:06:50 | Re : une requete sur 2 tables

PoFMaN

Arf oui me suis planté avec ca ca devrai marcher (je l'ai testé):

select cuser.id_user, cuser.pseudo from chat_user cuser where not exists (select cban.* from chat_bannis cban where cban.pseudo=cuser.pseudo) order by cuser.pseudo

vendredi 16 juin 2006 à 14:20:59 | Re : une requete sur 2 tables

David_monchy

il me dit:
You have an error in your SQL syntax near 'exists ( select cban . * from chat_bannis cban where cban . pseudo = cuser .' at line 1
bon je ne comprends pas trop les alias, mais par exemple comment phpmyadmin sait que cuser correspond à la table des user?

vendredi 16 juin 2006 à 15:54:05 | Re : une requete sur 2 tables

benstar

id_user et id_banis sont autoincrementes ? si oui ce sera plus simple. tu fais    SELECT id_user,pseudo FROM chat_user WHERE id_user not in ( SELECT id_banis FROM chat_bannis ) ORDER BY pseudo.

vendredi 16 juin 2006 à 21:13:20 | Re : une requete sur 2 tables

PoFMaN

Pour les alias, MySQL le sai parce que après le from tu as "NOMdeLAtable ALIASdeCETTEtable, ..." en clair l'alias tu le défini en le mettant apres le nom de la table dans le from. (si ca te gene tu peu les virer c pas necessaire mais comme ca fait une requete plus courte je trouve ça plus lisible)

Sinon pour la requete, ben je comprend pas trop pourquoi t'as une erreur, t'as quoi comme version de MySQL? Moi j'ai testé la requete avec la version 4.1.12 sur des tables pareil sauf que y a une table avec des utilisateur simple et une autre table avec les pseudos des utilisateurs simples qui ont des droits. T'as vérifié les nom de tables, ou de champ (je me suis peut etre planté dessus)?


1 2

Cette discussion est classé dans : table, utilisateurs, user, tables, bannis


Répondre à ce message

Sujets en rapport avec ce message

Liaison entre les tables [ par coupeau ] BonjourJ'ai deux tablesune table documentation et une table mot-clé. Comment puis insérer plusieurs mots-clés (N: cela dépend du document parfois 1 mo 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 Liaison de table. [ par benett ] Bojour à tous,Pouvez-vous m'expliquez comment gérer les liaisons de type N-N entre 2 tables, j'ai un fichier intermédiaire de créer, mais je ne sais p Liaison de table. [ par benett ] Bojour à tous,Pouvez-vous m'expliquez comment gérer les liaisons de type N-N entre 2 tables, j'ai un fichier intermédiaire de créer, mais je ne sais p Bloquage de tables (LOCK) [ par STef77 ] Bonsoir,J'ai une question sur MySQL (j'utilise la version 3.23.49-log sur ma debian (woody)).Etant donné que MySQL ne supporte pas les clés étrangères Création de Tables via fichier .sql [ par LePhenol ] Bonjour, Je suis en train de créer un install.php pour installer un petit portail que j'ai programmé. J'en suis à la création des Tables SQL dans ma B PB Compter le nombre de posts par utilisateurs dans une table [ par the_snake ] Bonjour je cherche une solution pour compter le nombre de posts par utilisateurs dans une table exemple:J'ai une table mysql (article _tbl) ou sont in requête de non concordance avec jointure 3 tables [ par dubitoph ] ChristopheHé oui, je suis toujours là avec mes angoisses pour mon mémoire.J'ai une base de données MySql qui contient, en autres, une table "interimai PHP : modification sur 2 tables [ par vir76 ] Salut tout le monde,Je dispose de deux tables avec un champ commun "ID_SOUSDIRECTION".Si je suis amenée à le mofifier dans une table et à ce que cela nombre de champs d'une table [ par scoder ] bonjour, je viens de réaliser un site en php, et j'aimerai réaliser une section admin. j'utilise mysql.pour lister toutes mes tables, j'utilise "show


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 2,418 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.