Aide requete SQL

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

Aide requete SQL

Message le Mar Mar 15, 2005 10:59

Bonjour,

je voudrais afficher les membres d'une table ne se trouvant pas dans une autre.

j'ai donc creer cette requete :

Code: Tout sélectionner
SELECT `users`.`user_id` FROM `users`, `admin` WHERE date_naissance <= '1979-03-14' AND date_naissance >= '1974-03-14' AND sexe = "homme" AND users.user_id != admin.id_membre


en fait, j'ai une table avec tous les utilisateurs, et une autre table ou il y a l'id des admin et je voudrais afficher les membres qui ne sont pas admin donc les membres qui n'ont pas leur id dans la table admin.

et la requete que j'ai essaye me sort 185 resultat alors que je ne devrais en avoir qu'un seul

madx
WRInaute impliqué
WRInaute impliqué
 
Messages: 303
Inscription: Jeu Juin 19, 2003 10:18

Message le Mar Mar 15, 2005 11:13

Bonjour,

SELECT `users`.`user_id` FROM `users`, `admin` WHERE date_naissance <= '1979-03-14' AND date_naissance >= '1974-03-14' AND sexe = "homme" AND users.user_id not in (select admin.id_membre from admin)

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

Message le Mar Mar 15, 2005 11:35

Je ne comprend pas, ca bug

meme en faisant ca :

Code: Tout sélectionner
SELECT *
FROM `users` , `admin`
WHERE users.user_id NOT
IN (
"SELECT admin.id_membre FROM admin"
)


Il me sort 210 resultats alors que pour faire le test, j'ai cree 15 utilisateurs et 14 dans la table admin.

Normalement il devrait me sortir un seul membre


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Mar Mar 15, 2005 11:45

Essaie ca :

Code: Tout sélectionner
SELECT * FROM `users` LEFT JOIN `admin` ON users.id=admin.id WHERE admin.id IS NULL

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Mar Mar 15, 2005 12:13

Le plus simple serait (de loin) d'avoir une seule table, avec un simple champ tinyint pour différencier le statut des membres (simple membre, modo, etc...).

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

Message le Mar Mar 15, 2005 12:21

C'est parfait merci !!!!

J'ai encore des progres a faire en sql :oops:

en tout cas merci :d

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

Message le Mar Mar 15, 2005 12:24

oui, c'est ce que j'avais fait mais j'aurais besoin de faire pas mal d'operations dessus, supprimer des admin etc plusieurs fois par jour.

la, je supprime la ligne et le membre n'est plus admin.
et je pensais que ca serait plus rapide pour selectionner les admin vu que je n'ai pas a parcourir toute la table user mais juste admin

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Mar Mar 15, 2005 12:29

waouh a écrit:oui, c'est ce que j'avais fait mais j'aurais besoin de faire pas mal d'operations dessus, supprimer des admin etc plusieurs fois par jour.

la, je supprime la ligne et le membre n'est plus admin.
et je pensais que ca serait plus rapide pour selectionner les admin vu que je n'ai pas a parcourir toute la table user mais juste admin


Ce serait au contraire beaucoup plus simple et plus rapide qu'une jointure.

Pour passer un membre de modo à simple membre, il suffit de faire: "UPDATE membres SET statut='0' WHERE id='12'".

J'ai comme l'impression que tu ne connais que les SELECT et les DELETE ;-) tu verras, mysql est très riche.

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

Message le Mar Mar 15, 2005 12:33

Ouais, j'ai plus qu'a remodifier mes scripts qui verifient le status du membre et qui l'ajoute en mode admin :roll:

Merci de ton aide


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités