à l'aide si vous plait
Fermé
w tamdy ayam
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013
-
27 juin 2012 à 21:10
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 - 27 juin 2012 à 22:08
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 - 27 juin 2012 à 22:08
A voir également:
- à l'aide si vous plait
- Mon gmail s'il vous plaît - Guide
- Calculatrice s'il vous plaît - Télécharger - Calcul & Conversion
- Aidez-moi s'il vous plaît - Forum Loisirs / Divertissements
- Arrêter la radio s'il vous plaît - Forum Musique / Radio / Clip
- Aide moi s'il te plait mon amour ✓ - Forum Cinéma / Télé
2 réponses
oliver3923
Messages postés
971
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
15 novembre 2014
143
27 juin 2012 à 21:19
27 juin 2012 à 21:19
bonjour
select client.id_client ,nom_client,client.Login, prenom_client ,adresse_client, solde ,n_compte,type_agence
tu sélectionne certains attributs (client.Login par exemple) que tu ne cite pas avant dans la liste de tes attributs et tables
as tu oublié de les mettre plus haut ou ils n'existent pas?
solde.id_client= client.id_client
ici tu essaies d'accéder a un attributs d'une table solde donc a nouveau est ce qu'elle existe?
sans oublié que tu n'as pas fait de jointure entre tes tables
autre chose tu as tout a fait le droit de faire ta requête sur 10 lignes donc autant en profiter c'est plus lisible
pareil je te conseille de mettre les mot clé en majuscule (par contre je sais pas si c'est accepté par tout les SGBD)
SELECT client.id_client ,nom_client,client.Login, prenom_client ,adresse_client, solde ,n_compte,type_agence
FROM solde,client ,administrateur ,compte,agence
WHERE solde.id_client= client.id_client
AND administrateur.Login = client.Login
AND client.id_client=compte.id_client
AND client.id_agence=agence.id_agence
AND client.Login ='Mohamed '
ps : je n'ai rien touché a la requête a part la remettre en forme pour qu'elle soit plus lisible
par contre je ne vois pas bien le but de ta requête et il y a surement des lignes inutiles la dedans
peux tu nous donner la liste des tables et surtout expliquer a quoi doit te servir ta requête?
select client.id_client ,nom_client,client.Login, prenom_client ,adresse_client, solde ,n_compte,type_agence
tu sélectionne certains attributs (client.Login par exemple) que tu ne cite pas avant dans la liste de tes attributs et tables
as tu oublié de les mettre plus haut ou ils n'existent pas?
solde.id_client= client.id_client
ici tu essaies d'accéder a un attributs d'une table solde donc a nouveau est ce qu'elle existe?
sans oublié que tu n'as pas fait de jointure entre tes tables
autre chose tu as tout a fait le droit de faire ta requête sur 10 lignes donc autant en profiter c'est plus lisible
pareil je te conseille de mettre les mot clé en majuscule (par contre je sais pas si c'est accepté par tout les SGBD)
SELECT client.id_client ,nom_client,client.Login, prenom_client ,adresse_client, solde ,n_compte,type_agence
FROM solde,client ,administrateur ,compte,agence
WHERE solde.id_client= client.id_client
AND administrateur.Login = client.Login
AND client.id_client=compte.id_client
AND client.id_agence=agence.id_agence
AND client.Login ='Mohamed '
ps : je n'ai rien touché a la requête a part la remettre en forme pour qu'elle soit plus lisible
par contre je ne vois pas bien le but de ta requête et il y a surement des lignes inutiles la dedans
peux tu nous donner la liste des tables et surtout expliquer a quoi doit te servir ta requête?
w tamdy ayam
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013
27 juin 2012 à 21:50
27 juin 2012 à 21:50
salut ,
les table sont :
CREATE TABLE IF NOT EXISTS 'administrateur' (
'Login' varchar(10) NOT NULL,
'mot_passe' varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
banque : 'nom_banque'et 'id_banque'
agence :
'nom_agence'
'type_agence'
'id_agence'
'adresse postale_agence'
'id_banque'
PRIMARY KEY ('id_agence','id_banque')
compte
'n_compte'
'date_ouverture_compte'
'id_client'
PRIMARY KEY ('n_compte','id_client')
client
'id_client'
'nom_client'
'prenom_client'
'adresse_client'
'TEL'
'id_agence'
'Login'
PRIMARY KEY ('id_client','id_agence')
- je veux affiche un solde de client ;) bon jla affiche en fonction de nom et preno de client et son adresse plus le solde mais je veux faire une relation avec agence et son iD
mais ca marche pas avec la requet k jai , maffiche pas des erreur mais ca me donne pas le resultat k je veux !!
les table sont :
CREATE TABLE IF NOT EXISTS 'administrateur' (
'Login' varchar(10) NOT NULL,
'mot_passe' varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
banque : 'nom_banque'et 'id_banque'
agence :
'nom_agence'
'type_agence'
'id_agence'
'adresse postale_agence'
'id_banque'
PRIMARY KEY ('id_agence','id_banque')
compte
'n_compte'
'date_ouverture_compte'
'id_client'
PRIMARY KEY ('n_compte','id_client')
client
'id_client'
'nom_client'
'prenom_client'
'adresse_client'
'TEL'
'id_agence'
'Login'
PRIMARY KEY ('id_client','id_agence')
- je veux affiche un solde de client ;) bon jla affiche en fonction de nom et preno de client et son adresse plus le solde mais je veux faire une relation avec agence et son iD
mais ca marche pas avec la requet k jai , maffiche pas des erreur mais ca me donne pas le resultat k je veux !!
oliver3923
Messages postés
971
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
15 novembre 2014
143
27 juin 2012 à 22:08
27 juin 2012 à 22:08
tes clé primaires ne sont pas logiques (enfin je pense)
pourquoi met tu plusieurs attributs en clé primaire alors qu'un seul suffit?
par exemple pour agence id_agence te suffit comme clé primaire il suffit de définir l'id comme un numéro automatique pour ne pas avoir de doublons de ta clé primaire
pareil dans compte n_compte suffit, dans client il faut id_client
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ca je ne connais pas a quoi ca sert?
dans ton create table tu ne définit pas de clé primaire et étrangère pour tes relations
ton attribut solde n'apparait nul part non plus (je suppose qu'il est dans la table compte)
pour la requête il faut que tu séléctionne nom prenom adresse (donc dans client) et solde (donc dans compte)
ensuite il te faut une jointure entre tes tables
pour ca utilise la clause inner join
pour ca le plus simple après ton select tu met
FROM table1 INNER JOIN table2
ON table1.att = table2.att
il faut évidemment que att dans table1 et table2 soient compatibles (donc la primaire d'une des tables et la clé étrangère (si jeme souviens bien) de la seconde table
ensuite tu peux mettre tes where and or...
pour ta requête tu auras besoin d'un select, d'une jointure entre client et compte (après avoir rajouté ton attribut solde si il est manquant dans ta bdd) puis d'une condition pour le nom
autre chose a quoi te sert ta table administrateur?
tu n'en a pas besoin pour cette requête en tout cas
voila je te laisse réfléchir a tout ca (la requête n'est pas compliquée a faire si je ne me trompe pas tu as :
SELECT...
FROM...
ON...
WHERE....
AND...
(pour faire ton select avec un nom et un prenom)
pourquoi met tu plusieurs attributs en clé primaire alors qu'un seul suffit?
par exemple pour agence id_agence te suffit comme clé primaire il suffit de définir l'id comme un numéro automatique pour ne pas avoir de doublons de ta clé primaire
pareil dans compte n_compte suffit, dans client il faut id_client
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ca je ne connais pas a quoi ca sert?
dans ton create table tu ne définit pas de clé primaire et étrangère pour tes relations
ton attribut solde n'apparait nul part non plus (je suppose qu'il est dans la table compte)
pour la requête il faut que tu séléctionne nom prenom adresse (donc dans client) et solde (donc dans compte)
ensuite il te faut une jointure entre tes tables
pour ca utilise la clause inner join
pour ca le plus simple après ton select tu met
FROM table1 INNER JOIN table2
ON table1.att = table2.att
il faut évidemment que att dans table1 et table2 soient compatibles (donc la primaire d'une des tables et la clé étrangère (si jeme souviens bien) de la seconde table
ensuite tu peux mettre tes where and or...
pour ta requête tu auras besoin d'un select, d'une jointure entre client et compte (après avoir rajouté ton attribut solde si il est manquant dans ta bdd) puis d'une condition pour le nom
autre chose a quoi te sert ta table administrateur?
tu n'en a pas besoin pour cette requête en tout cas
voila je te laisse réfléchir a tout ca (la requête n'est pas compliquée a faire si je ne me trompe pas tu as :
SELECT...
FROM...
ON...
WHERE....
AND...
(pour faire ton select avec un nom et un prenom)