|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Charles TaquetInscription : juillet 2010 Messages : 88 ![]() |
Bonjour
J'effectue un site pour gérer une bibliothèque, et je dois faire une requête qui récupère tous les livres disponibles. Donc je suis partis du princique, que cette requête doit me retourner tous les livres emprunté et dont la date de retour et < à la date du jour et tous les livres jamais emprunter. Donc sur le principe je sais pas si c'est bon. J'ai fait cette requête, voic celle si : Code :
Exemple de retour [ID] [Titre][Date debut] [date retour] 1 Essai 01/01/2011 03/04/2011 En base j'ai le même livre emprunté le 10/04/2011 Si vous avez une idée je suis preneur Merci |
||
|
|
00
|
|
|
#2 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 445 ![]() |
Peux-t préciser quelles sont les dates qui qualifient un emprunt ?
Comment identifies-tu qu'un livre est rendu ?
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
La 2eme partie de la requête après le UNION répond presque au problème mais au lieu que la jointure gauche soit avec toute la table emprunt il faudrait qu'elle soit avec les emprunts qui ont date_fin à null (=livre non encore rendu)
Donc quelque chose du genre de: Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
ou en reformulant : quels sont les livres qui ne sont pas empruntés actuellement ? Code SQL :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
Les conditions de la 1ere requête donnaient plutôt l'impression que date_fin était à null tant que le livre n'était pas revenu puis était mis à la date du jour au moment du retour.
Dans ce cas date_fin>getdate() n'est jamais vrai et n'est donc pas utilisable comme condition. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
arfff
en y relisant, c'est vrai que ce n'est pas clair ! car dans la première requête, il teste également AND Date_Fin < GETDATE() Ce qui sera du coup toujours vrai.. ![]() mais effectivement ton anaylse parait plus logique et dans ce cas (date_fin a null tant que le livre n'est pas rendu) il faudrait faire : Code SQL :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com