sql="SELECT nom, COUNT(oeuvre) FROM Expo_perm JOIN Oeuvre_louvre ON Expo_perm.nom = Oeuvre_louvre.expo JOIN Restaurer ON Oeuvre_louvre.IDO = Restaurer.oeuvre GROUP BY nom;"
sql="SELECT nom, COUNT(oeuvre) FROM Expo_perm JOIN Oeuvre_louvre ON Expo_perm.nom = Oeuvre_louvre.expo JOIN Restaurer ON Oeuvre_louvre.IDO = Restaurer.oeuvre JOIN Prete ON Oeuvre_louvre.IDO = Prete.IDO WHERE (Restaurer.fin > CURRENT_DATE) OR (Prete.debut < CURRENT_DATE AND Prete.fin > CURRENT_DATE) GROUP BY nom;"
cur.execute(sql)
raw=cur.fetchone()
print("Liste des oeuvre du Louvres actuellement :")
print("Liste des oeuvre absentes du Louvres actuellement :")
whileraw:
print(f"Nom de l'exposition : {raw[0]} Nombre d'oeuvres absentes : {raw[1]}")
print()
raw=cur.fetchone()
defliste_oeuvre_umpruntees():
defliste_oeuvre_empruntees():
cur=conn.cursor()
sql="SELECT Oeuvre_ext.IDO, expo, fin FROM Emprunte JOIN Oeuvre_ext ON Emprunte.IDO = Oeuvre_ext.IDO ORDER BY fin"
sql="SELECT Oeuvre_ext.IDO, expo, fin FROM Emprunte JOIN Oeuvre_ext ON Emprunte.IDO = Oeuvre_ext.IDO WHERE Emprunte.debut < CURRENT_DATE AND Emprunte.fin > CURRENT_DATE ORDER BY fin;"
cur.execute(sql)
raw=cur.fetchone()
print("Liste des oeuvre actuellement empruntées par le Louvre :")
print("Liste des oeuvres actuellement empruntées par le Louvre :")
@@ -95,6 +95,8 @@ Compter le nombre d'oeuvres actuellement absentes (= en prêt ou en restauration
SELECT nom, COUNT(oeuvre) FROM Expo_perm
JOIN Oeuvre_louvre ON Expo_perm.nom = Oeuvre_louvre.expo
JOIN Restaurer ON Oeuvre_louvre.IDO = Restaurer.oeuvre
JOIN Prete ON Oeuvre_louvre.IDO = Prete.IDO
WHERE (Restaurer.fin > CURRENT_DATE) OR (Prete.debut < CURRENT_DATE AND Prete.fin > CURRENT_DATE)
GROUP BY nom;
```
<> A vérifier avec plus d'inserts
...
...
@@ -104,6 +106,7 @@ Identifier de manière unique les oeuvres actuellement empruntées par le Louvre
```
SELECT Oeuvre_ext.IDO, expo, fin FROM Emprunte
JOIN Oeuvre_ext ON Emprunte.IDO = Oeuvre_ext.IDO
WHERE Emprunte.debut < CURRENT_DATE AND Emprunte.fin > CURRENT_DATE
ORDER BY fin;
```
...
...
@@ -111,10 +114,12 @@ ORDER BY fin;
Afficher les oeuvres ayant été créées à une période donnée, avec toutes leurs informations ainsi que l'identification unique, nom, si elles appartiennent ou non au Louvre, les durées éventuelles des expositions dans lesquelles elles sont/ont été/seront exposées.