Aide requete SQL SVP
SebManfred Messages postés 484 Date d'inscription Statut Membre Dernière intervention -
Voilà excusez moi de vous déranger mais j'ai une requete en SQL important a vous demander
voilà il me faut trouver je cite :
Pour la pèriode du 01/01/02 quels sont les journées où aucun emprunt de livre n'a été réalisé ?
voilà le modèle relationnel
GENRE(CodeGenre, LibelleGenre)
AUTEUR(N°Auteur, PrenAut, NomAut)
EDITEUR(N°Editeur, NomEditeur)
ADHERENT(N°Adh, NomAdh, PrenADH, RueAdh, VilleAdh, #N°AdhParent)
EMPRUNT(#N°Adh, #N°Livre,#DateEmprunt, DateRetour)
LIVRES(N°Livre, TitreLivre, annee, #CodeGenre, #N°Editeur, #N°Auteur)
Configuration: Windows XP Internet Explorer 6.0
36 réponses
- 1
- 2
Pour la période du 01/01/02, il faut déterminer quelles journées n'ont enregistré aucun emprunt de livre en s'appuyant sur les tables EMPRUNT et LIVRES et le schéma relationnel fourni. Des réponses évoquent de repérer les dates dans la période et d'en sortir celles qui ne figurent pas dans EMPRUNT, via NOT IN/NOT EXISTS ou en s'appuyant sur une table calendrier dédiée. Certaines interventions notent que sans lignes d'emprunt pour une journée donnée, la requête ne peut être satisfaite par une sélection sur Emprunt et nécessite soit une table des dates, soit du code. En cas d'éclairage, le format du champ Date dans les tables et l'utilisation d'une table de dates ou d'un calendrier influencent la construction exacte de la requête.
-
-
Si GENRE, AUTEUR,...etc sont des tables il faut lier les différentes entrées de ces tables ensemble... Par un id par exemple..
-
euh...lol ta réponse est un peu chinoise pour moi
j'aimerais que tu me dises ce qu'il faut que je marque car je comprend pas trop encore je débute en SQL -
Bah tu as créé des tables et des entrées dans ta Base de donnée ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
euh...lol
bè le truc c'est que j'ai que ce que je t'ai donné et la question donc apparament pour répondre a ta question je n'ai pas créé de table
de données du moins je ne pense pas... -
-
Mais tu as quoi au juste sous la main la ??? De déja codé...
-
si tu veut faire une requête et espérer quelle marche il faut que tu créer la table et les données sinon comment sauras tu qu'elle marche?
-
oui pardon il faut le faire par ecrit seulement pas sur pc
c'est un truc que j'ai a rendre
mais aprés je peux tester a l'ordi si jamais vous me trouvez la réponse... -
j'avoue je suis pas très forte mais essaie ceci: select DateEmprunt.Emprunt between 01/01/02 and 31/05/02 . En principe si elle marche elle t'affichera les dates pendant lesquelles des livres ont emprunté. Mais le contraire je vois et toi balou01?
-
je ne connais pas le "between"....
par contre pour effectuer le code que tu dis jeany07 je ferais ca :
SELECT DateEmprunt FROM Emprunt WHERE ...>... AND ...<... (je ne me rapel plus des dates et j'ai la flemme... lol
par contre après tu peux utiliser un coup de php pour trouver les dates qui ne sont pas selectionnées -
-
c'est une idée, mais tu parles d'un coup de php tu peut m'en dire plus s'il te plait?
-
tu as oublié de spécifier le champ : Where DateEmprunt >01/01/01 and <31/05/02
mais même là, je ne suis pas sûr qu'il prenne le format de la date tel quel... faut vérifier, mais le principe est là. -
normale il fau spécifier quelque chose avant tes > < ... C'est a dire les différentes dates d'emprunt...
SELECT DateEmprunt FROM Emprunt WHERE DateEmprunt>01/01/01 AND DateEmprunt<31/05/02
et cette requete n'appel que les dates d'emprunt qui ont été effectué... Il faut donc rechercher "l'inverse"... -
oups... j'ai oublié le 2e champ (et en plus, je critique :o( )
Where DateEmprunt > 01/01/01 and DateEmprunt < 31/05/02
mais ça ne va pas répondre à ta question... là, tu vas avoir tout les emprunts entre le 01/01 et le 31/05... ça n'est pas ce que tu veux.
essaie de reformuler ce que tu veux avoir pour obtenir une phrase en français qui soit le plus près possible de ta syntaxe SQL pour pouvoir ensuite la traduire plus facilement -
peut être que tu pourrais nous aider à le faire hein SebManfred?
-
je te donne une indication : il te faut les date qui NE SONT PAS dans ta table emprunts et qui sont dans la période considérée
-> il faut que tu récupères des dates qui ne sont dans aucune des tables dont tu dispose, donc ça n'est pas en faisant un "select date from nom_de_table where patati patata" que tu pourras t'en sortir
autre indic : "select from dual" peut t'aider
si je t'en dis plus, je fais l'exo à ta place... ça n'est pas le but -
Ouai ce n'est pas le but je sais mais bon
si je suis venu vous demander de l'aide c'est bien parce-que je lutte sur celle-là et que je n'y arrive pas...
sinon quelqu'un d'autre aurait une idée svp ??? -
c'est un exercice que tu as à rendre et tu as assez de réponses ici pour que tu puisses travailler dessus ... Tout le monde à mis des bouts de requêtes mais je n'en vois aucun de toi ... ici on aide, on ne fait pas ...
- 1
- 2