Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Aide pour une requête SQL

Featured Replies

Posté(e)

Salut tout le monde.

J'suis pas très bon en SQL, et j'ai une requête à faire pour un projet, mais j'arrive pas à la faire fonctionner.

L'énoncé de la requête :

Afficher les statistiques / polices de l’ensemble des sinistres, et en particulier le montant total des sommes versées

Donc je pensais afficher la somme des montants des voitures qui ont eu un accident et qui ont été considéré comme épave (donc remboursement complet).

La somme des montants des réparations.

Le nombre total de sinistres.

Et le nombre d'épaves lors de ces sinistres (les voitures complètement détruite).

ET tout ça pour chaque police.

La BDD :

http://nsa07.casimages.com/img/2009/06/06/...35631852350.png

Alors j'ai fait ça comme requête :

SELECT P.LibPolice, SUM(R.MontantR) AS TotalRéparation, SUM(A.ValeurEstimée) AS TotalRemplacement, COUNT(S.NumSinistre) AS NBSinistres, COUNT(RE.NumRapport) AS NbEpaves
FROM Police AS P, Automobile AS A, Dossier AS D, Réparation AS R, Rapport_Expertise AS RE, Sinistre AS S, Contrat AS C
WHERE P.NumPolice = C.NumPolice
AND C.NumMatricule = A.NumMatricule
AND C.NumContrat = S.NumContrat
AND S.NumSinistre = D.NumSinistre
AND D.NumDossier = R.NumDossier
AND RE.NumDossier = D.NumDossier
AND RE.NumDossier IN (SELECT RE.NumDossier FROM Rapport_Expertise AS RE WHERE RE.Epave = -1)
GROUP BY 1
ORDER BY 1;

Une voiture est soit déclarée épave, à partir de là l'assurance doit rembourser la valeur de la voiture.

Soit elle peu être réparé et l'assurance paye le montant des réparations.

Épave étant un booléen, -1 voulant dire qu'il s'agit bien d'une épave.

Sauf que quand je l'exécute j'ai un message d'erreur :

090606035639675944.png

Et là j'avoue que je suis un peu coincé car je comprend pas ce qu'il veut me dire.

Si vous pouviez m'expliquer ce qu'il entend par ce message, ça m'aiderait déjà beaucoup.

Merci de votre aide !

Posté(e)

A première vue je dirais qu'il y a un problème au niveau de la clause GROUP BY. En effet dans ta clause SELECT tu n'utilise que des fonctions d'agrégat (qui utilisent des "groupes" de données) mais pas le libellé LibPolice, donc il va y avoir un problème du fait que tu demande potentiellement plusieurs lignes de libellés mais une seule ligne de tout le reste.

La règle à suivre est : Lors de l'utilisatoin de GROUP BY, ne rien mettre dans le SELECT qui ne soit pas une fonction d'agrégat (sum, max, avg, etc...) et qui ne serve pas de critère de regroupement dans GROUP BY. La colonne LibPolice enfreint cette règle :)

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.