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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Création d'une requêtte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Création d'une requêtte

n°1063934
daprod
Posté le 28-04-2005 à 10:10:29  profilanswer
 

table enregistrements :

Code :
  1. _______________________
  2. id    | nom           |
  3. -----------------------
  4. 1     | blabla1       |
  5. 2     | blabla2       |
  6. 3     | blabla3       |
  7. 4     | blabla4       |
  8. 5     | blabla5       |
  9. -----------------------


 
table portables :

Code :
  1. ________________________________________________________
  2. id    | nom           | enr1     | enr2     | enr3     |
  3. --------------------------------------------------------
  4. 1     | blabla        | 1        | 5        | 2        |
  5. 2     | blabla        | 2        | 3        | 3        |
  6. --------------------------------------------------------


 
Comment je dois faire ma requêtte, pour obtenir un affichage comme celui-ci :
 
Affichage :
id = 1
nom = blabla
enr1 = blabla1
enr2 = blabla5
enr3 = blabla3
 
 
Pour l'affichage je dois recupérer les informations de la table enregistrement en fonction des colones enr1,2,3.
 
Merci pour votre aide

mood
Publicité
Posté le 28-04-2005 à 10:10:29  profilanswer
 

n°1063950
gfa
Posté le 28-04-2005 à 10:20:02  profilanswer
 

A mon avis tu as là un problème de conception :)
 
Tu as intérêt à avoir une table de plus comme ça:

Code :
  1. id    | NoEnr  | idPortable | idEnr |
  2. ------------------------------------|
  3. 1     | 1      | 1          | 1     |
  4. 2     | 2      | 1          | 5     |
  5. 3     | 3      | 1          | 2     |
  6. 4     | 1      | 2          | 2     |
  7. 5     | 2      | 2          | 3     |
  8. 6     | 3      | 2          | 3     |
  9. ------------------------------------|


Et ta table "portables" doit être modifiée pour être comme ça:

Code :
  1. id    | nom           |
  2. ----------------------|
  3. 1     | blabla        |
  4. 2     | blabla        |
  5. ----------------------|


Et avec un SELECT et un peu de mise en forme tu pourras obtenir ce que tu désires...
 
A+


Message édité par gfa le 28-04-2005 à 10:25:07
n°1063982
daprod
Posté le 28-04-2005 à 10:47:13  profilanswer
 

Je vais expliquer exactement ce que je fait, je pense que ça sera plus simple. Je réalise un petit script pour la gestion des ordinateur portables.
 
J'ai donc une table "portables" :

Code :
  1. id
  2. date_creation
  3. date_modification
  4. netbios
  5. utilisateur
  6. societe
  7. fabriquant
  8. modele
  9. numero
  10. date_achat
  11. fournisseur
  12. modele_proc
  13. frequence
  14. model_mem
  15. taille_mem
  16. taille_ecran
  17. taille_dd
  18. lecteur_disquette
  19. ctr_reseau
  20. modem
  21. wifi
  22. lecteur_cddvd
  23. type_lecteur
  24. commentaire


 
J'ai pensé mettre les valeurs que je vais souvent utiliser dans la table enregistrements :

Code :
  1. id
  2. nom


et ensuite lors de l'affichage d'un portable prendre les informations de la table enregistrements en fonction de l'id de la colonne.
 
Tu pense que cela n'ai pas juste ??


Message édité par daprod le 28-04-2005 à 10:50:17
n°1063999
gfa
Posté le 28-04-2005 à 11:01:53  profilanswer
 

Houlà... J'ai rien compris moi :)
 
Hum... Disons que dans la table "portable", si tu as deux portable du même fournisseur, du même modèle, ... Tu réecris chaque fois les données?  
 
Ce sont les deux seules tables que tu as?
 
Et sinon, je vois pas trop le rapport avec ta 1ère question :)

n°1064004
daprod
Posté le 28-04-2005 à 11:05:54  profilanswer
 

Si j'ai 50 portables identiques, je ne vais pas a chaque fois mettre dans ma table les même informations, je prefere juste indiqué pour le fournisseur un id qui correspond a un enregistrement de ma table enregistrements.
 
Oui j'ai juste deux tables.
 
Ce n'est pas la même question, je me demande si je ne doit pas réorganiser mes tables autrement ?


Message édité par daprod le 28-04-2005 à 11:06:54
n°1064053
gfa
Posté le 28-04-2005 à 11:40:50  profilanswer
 

daprod a écrit :

Si j'ai 50 portables identiques, je ne vais pas a chaque fois mettre dans ma table les même informations, je prefere juste indiqué pour le fournisseur un id qui correspond a un enregistrement de ma table enregistrements.
 
Oui j'ai juste deux tables.
 
Ce n'est pas la même question, je me demande si je ne doit pas réorganiser mes tables autrement ?


 
Et tu ferais ça pour toutes les colonnes de la table "portable" qui pourraient contenir des infos identiques?
 
Donc si je résume, dans ta table "enregistrements", tu mettrais:
 

  • Utilisateur

 

  • Société

 

  • Fabriquant

 

  • Modèle

 

  • Fournisseur

 

  • Modèle_proc

 

  • Fréquence

 

  • ...

Bref, un fourre-tout... Mouais :??: Et comment tu fais si un jour on te demande une liste des différents Fabriquant de portable?  
Tu serais obligé de faire un jointure entre "portable" et "enregistrements"... Pas très agréable, pas très logique ni très performant...
 
Je pense que tu ferais bien de potasser un peu des tutaux ou des bouquins sur les bases de données relationnelles, et le pourquoi du comment... Ca te fera le plus grand bien  :whistle:  
 
Et ça t'évitera des erreurs de conception de départ qui pourraient être ensuite lourdes de conséquences.
 
Voilà...

n°1064066
daprod
Posté le 28-04-2005 à 11:48:43  profilanswer
 

:) Je me disais aussi que je devais lire un bouquin la dessus et que ma façon de faire n'était pas bonne.
 
Si tu as une référence de livre ou de tuto, je suis prenneur.
 
Merci pour ton aide.


Message édité par daprod le 28-04-2005 à 11:49:06

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Création d'une requêtte

 

Sujets relatifs
[MYSQL 4.1] Probleme pour recreer une base a partir d'un dump[ FLASH MX 2004 PRO ] Demande de conseils pour création menu
[JAVA] JNI, problème création fenetre en c++Sécurité PHP/Mysql (session, md5, HTTPS
[MySQL]Condition sur un COUNT ?creation dun site web en php et connection a sql server
formation mysqlproblème de connexion à MySQL via DBI
Création de sites de petites annonces avec chatOracle et MySQL, même protocole réseau ?
Plus de sujets relatifs à : [MySQL] Création d'une requêtte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR