Bonjour j'aurais besoin d'aide pour une requete sql. Cela consiste en une bibliothèque et il faudrait que je mette a jour la date de retour d'un livre car la base a été corrompu donc impossible de connaitre la date exacte donc mettre celle-ci a GETDATE() mais le probleme est celui c: si j'amais un livre a été loué 5 fois et quil est encore loué en ce moment il faut mettre à jour tout ceux qui on été loué avant la derniere location voici le code des tables en bas de la page.

liv_disp à 0 signifie libre et 1 signifie non disponible.
Donc d'apres ces table je doit mettre à jour la date de retour jai penser a cette instruction update
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
UPDATE Emprunt
	SET emp_DateRetour = GETDATE()
	WHERE PKemp_NoLivre IN 
                                     (SELECT PKliv_No FROM Livre WHERE liv_Disp = 0)
	 OR PKemp_Date < (SELECT MAX(PKemp_Date)
				FROM Emprunt
					WHERE PKemp_NoLivre=
                                                 (SELECT PKliv_No 
							FROM Livre 
							WHERE liv_Disp = 1
							     AND PKemp_NoLivre = PKliv_No))
 
 
CREATE TABLE Emprunt
(
	PKemp_NoLivre	INT 
                    NOT NULL 
                    REFERENCES Livre (PKliv_No),
	PKemp_NoLecteur	INT 
                    NOT NULL 
                    REFERENCES Lecteur (PKlec_No),
	PKemp_Date	    DATETIME 
                    NOT NULL 
                    DEFAULT GETDATE(),
        emp_DateRetour   DATETIME
                                 NULL,
 
	CONSTRAINT PK_Emprunt PRIMARY KEY
		(PKemp_NoLivre, PKemp_NoLecteur, PKemp_Date)
)
 
CREATE TABLE Livre
(
	PKliv_No	    INT 
                    PRIMARY KEY 
                    NOT NULL,
	liv_Titre	    VARCHAR(60) 
                    NOT NULL 
                    DEFAULT '',
	liv_Page	    SMALLINT 
                    NOT NULL 
                    DEFAULT 0,
	liv_Prix	    SMALLMONEY 
                    NOT NULL 
                    DEFAULT 0,
	liv_Disp	    BIT 
                    NOT NULL 
                    DEFAULT 0,
	FKliv_NoEditeur	CHAR(3) 
                    NOT NULL 
                    REFERENCES Editeur (PKedi_No)
)
Mais cela ne foncionne pas il met a jour tout les emprunt car il trouve seulement une date max alors que moi je voudrait qu'il compare la date de lemprunt à tout les date maximum de chaque livre.

Merci beaucoup si vous pouvez m'aider