Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3011 connectés 

 


Dernière réponse
Sujet : [MySQL] Petit problème de rangement
Pinzo Ptain je suis resté bloqué quelque pars, trop chiant. :lol:
J'ai trouvé une autre solution plus simple :
 
SELECT position,participant,points from concours where id=1
 
Il affiche toutes les données auxquelles j'ai attribué l'ID 1. Et pour les autres catégories : where id=*
 
* le n° de cat
 
 
 
 :hello:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pinzo Ptain je suis resté bloqué quelque pars, trop chiant. :lol:
J'ai trouvé une autre solution plus simple :
 
SELECT position,participant,points from concours where id=1
 
Il affiche toutes les données auxquelles j'ai attribué l'ID 1. Et pour les autres catégories : where id=*
 
* le n° de cat
 
 
 
 :hello:
Pinzo Ok. :)

Pinzo a écrit a écrit :

Ok, merci pour les conseils.
 
Par contre j'ai essayé ca et ca a marché :
 
SELECT * FROM concours_users LEFT JOIN concours on concours_users.id=concours.id
 
 
concours_participants renommé en concours_users)
 
 
 :)  :hello:  




 
Ah oui oui ca marche, mais c'est merdique :)

Pinzo Ok, merci pour les conseils.
 
Par contre j'ai essayé ca et ca a marché :
 
SELECT * FROM concours_users LEFT JOIN concours on concours_users.id=concours.id
 
 
concours_participants renommé en concours_users)
 
 
 :)  :hello:
Bon allez je vais te donner 1 ou 2 pitits conseils qui me sont utiles tous les jours...
 
1- Evite les noms à ralonge pour les tables et les champs, prefere l'anglais au francais (a cause des participes passés, des accents, etc...)
CONCOURS-PARTICIPANTS c'est trop compliqué !!! USR (pour USER) ca suffit largement ! A moins que tu ne comptes avoir 2000 tables dans ta base ! Pour concours, CCR ca ira tres bien comme nom de table.
 
2- Préfixe le nom de tes champs par le nom de la table ! Si tu fais du developpement web, ca te facilite souvent la tache !
Par exemple, pour ta table USR, tu auras les champs USR_ID, USR_PSEUDO, USR_EMAIL, USR_SITE, USR_CAT
Pour ta table CCR: CCR_ID, CCR_NAME
 
Pour ta requete ca donnerais:
SELECT USR.USR_ID, USR.USR_ID, USR.USR_PSEUDO, USR.USR_EMAIL, USR.USR_SITE, USR.USR_CAT, CCR.CCR_ID, CCR.CCR_NAME FROM USR USR, CCR CCR
WHERE USR.USR_CAT = CCR.CCR_ID
 
Petit ajout par rapport a la requete d'avant: il vaut mieux selectionner les champs sur lesquels tu vas effectuer ta jointure, car certains moteur n'aime pas trop ca !
 
Evidement certains te diront que mes conseils c de la connerie, mais... c'est moi qui ai raison :p
Pinzo Ptain je dois vraiment être newbie total. En fait mes tables ont un autre nom...
 
Table "concours-participants" : id, position, participant, points
 
Table "concours" : id, concours
 
(concours-participants équivaut à UTILISATEURS et concours à CATEGORIES)
 
Si j'ai bien compris, c'est ca qu'il faut mettre :
 
SELECT U.id, U.position, U.participant, U.points, C.concours FROM CONCOURS-PARTICIPANTS U, CONCOURS C WHERE U.concours-participants = C.id
 
 
 [:ruisseau%20de%20larmes] Chui nul.

 

[jfdsdjhfuetppo]--Message édité par Pinzo le 22-05-2002 à 02:11:47--[/jfdsdjhfuetppo]

Pinzo

viiz a écrit a écrit :

 
 
SELECT U.id, U.pseudo, U.email, U.site, C.categorie FROM UTILISATEURS U, CATEGORIES C
WHERE U.categorie = C.id
 
Toi tu débutes en SQL ;)  
Mais c'est comme ca qu'on apprend :hello:  



Clair je débute grave. Ca m'étonne même que je sache déjà tout ce que je sais. :D
 
Merci. :hello:

Pinzo a écrit a écrit :

Je crois comprendre que c'est comme ca :
 
SELECT * FROM [utilisateurs] JOIN [categories] ON [id]=[id]
 
Mais ca marche pas. :(  




 
SELECT U.id, U.pseudo, U.email, U.site, C.categorie FROM UTILISATEURS U, CATEGORIES C
WHERE U.categorie = C.id
 
Toi tu débutes en SQL ;)  
Mais c'est comme ca qu'on apprend :hello:
 
P.S: au passage le JOIN oublie-le, il est la pour les dinosaures des SGBD  :hello:

 

[jfdsdjhfuetppo]--Message édité par viiz le 22-05-2002 à 02:05:17--[/jfdsdjhfuetppo]

Pinzo Je crois comprendre que c'est comme ca :
 
SELECT * FROM [utilisateurs] JOIN [categories] ON [id]=[id]
 
Mais ca marche pas. :(
Pinzo Comment je fais pour rendre cette clé étrangère ?
Pinzo Pas bête.
 
Je vais essayer. Merci.
Moi je ferais pas comme ca...
J'aurais 1 seule table UTILISATEURS dans laquelle je garderais les champs id / pseudo / email / site + un champ categorie.
Une autre table CATEGORIES avec 2 champs: id / categorie.
 
L'id de la table UTILISATEURS serait une clef etrangere du champ id de la table CATEGORIES.
 
Paske créer une catégorie par table a chaque fois :non:  
La création de table dynamique c pas bô :kaola:

 

[jfdsdjhfuetppo]--Message édité par viiz le 22-05-2002 à 01:41:01--[/jfdsdjhfuetppo]

Pinzo Voilà, j'ai crée un classement d'utilisateurs (en fait c'est pas ca mais c'est pour que vous comprenniez mieux).
 
Ainsi...
 
La table : categorie1
Les champs : id / pseudo / email / site
 
(le champ ID est auto incrémenté)
 
Seulement, y a plusieurs catégories de membres. Donc à moins de créer 1 nouvelle table pour chaque catégorie (il devra y en avoir + de 30 plus tard) je vois pas comment je peux faire. :(
 
Si quelqu'un a compris, serait-il possible de m'éclairer please ? :)
 
 
Merci d'avance.

 

[jfdsdjhfuetppo]--Message édité par Pinzo le 22-05-2002 à 01:32:23--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)