Aide requete SQL SVP

Bonjour,

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

Résumé de la discussion

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.

Bobot (l’IA à votre service)
  1. Si GENRE, AUTEUR,...etc sont des tables il faut lier les différentes entrées de ces tables ensemble... Par un id par exemple..
    1. 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
      1. Bah tu as créé des tables et des entrées dans ta Base de donnée ?
        1. 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...
          1. 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?
            1. 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...
              1. 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?
                1. 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
                  1. Where >01/01/01 and <31/05/02 avec ca ca me met erreur de syntaxe (oprérateur absent)
                    1. c'est une idée, mais tu parles d'un coup de php tu peut m'en dire plus s'il te plait?
                      1. 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à.
                        1. 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"...
                          1. 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
                            1. 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
                              1. 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 ???
                                1. 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