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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT Distinct Livre.Id_Livre, N_serie,Serie, Titre,Livre.Type, Date_début,Date_Fin 
FROM [Livre] 
INNER JOIN Emprunt ON emprunt.Id_Livre = Livre.Id_Livre
WHERE Date_Fin is not null
   AND Date_Fin < GETDATE()
UNION
Select  Livre.Id_Livre, N_serie, Serie, Titre, Livre.Type, Date_début, Date_Fin 
From Livre 
Left JOIN Emprunt on emprunt.Id_Livre = Livre.Id_Livre
WHERE ID_emprunt is null
Le problème sur cette requete c'est qui me retourne un livre qui a été emprunté et rendu. Mais entre temps il a été ré-emprunté

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