Requête langage SQL [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 2 avril 2010
Statut
Membre
Dernière intervention
2 avril 2010
-
Messages postés
2
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
26 avril 2010
-
bonjour,

je suis en formation et on apprend le langage SQL sur base de données. enfin comme j'étais pas là aux 1er cours j'ai pas appris à le faire sur ordi (et les devoirs qu'on rend se font de toute façon à la main) alors là j'ai une question où je bloque. vous croyez que vous pourrez m'aider?

la question est: Afficher le titre des documents empruntés par Lola Ressac.
Afficher la liste des documents (sans doublons).


et la base est: (la colonne de droite ce sont des exemples)

Table TYPES
Nom texte Type de document BD27
Section texte Nom de la section BD
SousSection texte Nom de la sous-section Humour


Table DOCUMENTS
CodeDoc texte Code du document D28
Description texte Description du document Une oeuvre... noire
Cote texte Classement 27448
Titre texte Titre du document Idées Noires - album n°3
Année numérique Année d'édition 1984
Type texte voir la table des TYPES BD27


Table AUTEURS
CodeAuteur texte Code de l'auteur A38
Nom texte Nom de l'auteur Franquin
Prenom texte Prénom de l'auteur André


Table EMPRUNTEURS
CodeEmprunteur texte Code de l'emprunteur E45
Nom texte Nom de l'emprunteur Mina
Prenom texte Prénom de l'emprunteur Delprate
Adresse texte
CodePostal texte
Ville texte
Adresse de l'emprunteur 28 rue de la Carmagnole
44000
Nantes


Table EST_AUTEUR
CodeAuteur texte Code de l'auteur A38
CodeDoc texte Code du document D28


Table EMPRUNTS
CodeEmprunteur texte Code de l'emprunteur E45
CodeDoc texte Code du document D28
Date numérique Date de l'emprunt 22/02/2010
A voir également:

6 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
122
Salut,

oui, tu peux aussi utiliser le mot cl" distinct, ca marche aussi.

pour le premier c'est correct (à part qu'il manque la table emprunts dans ta clause from), mais j'aurai plutôt utilisé une jointure :
SELECT Titre, code emprunteur 
FROM (documents JOIN  Emprunts ON Emprunts ON Emprunts.CodeDoc = Documents.CodeDoc) JOIN Emprunteurs ON
Emprunteurs.codeEmprunteur Emprunts.CodeEmprunteur WHERE Emprunteurs.prenom 'Lola' AND Emprunteurs.Nom = 'Ressac'

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
122
Salut,

Pour ta première requête, il faut que tu fasse une jointure entre tes tables documents, emprunts et emprunteurs, et appliquer une clause where sur le nom de l'emprunteur.

Pour ne pas avoir de doublons, utilise la clause Group By
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
3
Date d'inscription
vendredi 2 avril 2010
Statut
Membre
Dernière intervention
2 avril 2010

Bonjour :)


alors pour le 2eme,

si je fais:

SELECT DISTINCT Titre
From Documents


ça marche pas?



Pour le 1er, si je fais:

SELECT Titre, code emprunteur
FROM documents, Emprunteurs
WHERE Emprunteurs.codeEmprunteur = Emprunts.CodeEmprunteur
AND Emprunteurs.prenom = 'Lola'
AND Emprunteurs.Nom = 'Ressac'

est ce que j'ai bon?
Messages postés
3
Date d'inscription
vendredi 2 avril 2010
Statut
Membre
Dernière intervention
2 avril 2010

ah oui, enfin la tienne est plus compliquée mais je vais me la noter sur mes cours quand même, merci :)


je tente... si c'est possible de me dire pour ces deux dernières si c'est bon ou pas, après j'arrête promis :)

Pour: Afficher, pour chaque Cote, le nombre des documents, leur section et leur sous-section.


Si je met:

SELECT cote, section
FROM documents, types
GROUP BY documents.cote, types.section, types.soussection


ça irait? j'ai un gros doute...

et pour afficher le nom, le prénom et l'adresse complète des personnes ayant emprunté une ou plusieurs bande dessinée.

tu ferais une jointure entre quelles tables?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
122
Salut,

Afficher, pour chaque Cote, le nombre des documents, leur section et leur sous-section.

Tu as oublié le nombre de documents dans ta requête, et n'oublie pas la jointure entre les tables :
SELECT cote, section, Count(Documents.CodeDoc) AS NombreDocument
FROM documents JOIN types On Documents.type = Type.Nom
GROUP BY documents.cote, types.section, types.soussection 


Pour la dernière requête, je pense qu'il faut faire une requête imbriquée : tu sélectionnes d'abord tout les emprunts effectués, et ensuite tu sélectionnes toutes les personnes qui sont contenues dans cette requête (mot clé IN dans la clause where).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
2
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
26 avril 2010

bsr,j suis etudiante en 2eme année info et j voulais savoire comment faire le lien entre la base de donnée en sql et le plash ou bien comment j peux faire pr que ma quarte en flash peut accedé a base de donnée et tirer les info?