Bonjour,
Je rencontre un problème pour écrire les requêtes SQL d'un cas d'étude.
L'énoncé est le suivant:
On a 2 tables Coursactions(nomaction,jour, valeurouverture, valeurfermeture) et Météo(jour, pluie).
La table Coursactions recense pour chaque jour et pour chaque action la valeur d'ouverture et la valeur de fermeture.
La table Météo donne pour chaque jour l'intensité de pluie ('sans', 'faible', 'moyenne', 'forte').
La première requête qui me pose problème est la liste des actions qui montent chaque jour de forte pluie.
J'arrive à avoir la liste des actions qui montent une jour de forte pluie, mais je n'arrive pas à isoler celles qui ne montent QUE les jours de forte pluie.
Je pense qu'il y a une solution basée sur les vues, ou avec une opération ensembliste MINUS, mais je n'arrive pas à bonne syntaxe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT COURSACTIONS.NOMACTION, COURSACTIONS.JOUR, COURSACTIONS.VALEUROUVERTURE, COURSACTIONS.VALEURFERMETURE, METEO.PLUIE FROM COURSACTIONS LEFT JOIN METEO ON COURSACTIONS.JOUR = METEO.JOUR WHERE METEO.PLUIE="FORTE" AND COURSACTIONS.VALEURFERMETURE>COURSACTIONS.VALEUROUVERTURE
La deuxième question qui me bloque est l'action qui a monté le plus (en proportion) hier.
La encore j'arrive à avoir la liste des actions qui ont monté hier avec la proportion mais je n'arrive pas à extraire celle qui a la proportion la plus forte
Mon jeu de données est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT HIER.NOMACTION, HIER.JOUR, HIER.VALEURFERMETURE, TODAY.NOMACTION, TODAY.JOUR, TODAY.VALEURFERMETURE, ((TODAY.VALEURFERMETURE/HIER.VALEURFERMETURE)*100) FROM COURSACTIONS TODAY, COURSACTIONS HIER WHERE HIER.NOMACTION=TODAY.NOMACTION AND HIER.JOUR=(TODAY.JOUR-1) AND TODAY.JOUR=#2003-11-11# AND TODAY.VALEURFERMETURE>HIER.VALEURFERMETURE
NOMACTION JOUR VALEUROUVERTURE VALEURFERMETURE PEUGEOT 11/09/2001 100 50 PEUGEOT 10/11/2003 100 140 PEUGEOT 11/11/2003 100 150 PEUGEOT 12/11/2003 130 150 RENAULT 11/09/2001 100 120 RENAULT 09/11/2003 120 130 RENAULT 10/11/2003 120 130 RENAULT 11/11/2003 120 140 RENAULT 12/11/2003 130 150 RENAULT 13/11/2003 150 90 RENAULT 14/11/2003 90 130 RENAULT 15/11/2003 130 130 RENAULT 16/11/2003 130 125 RENAULT 17/11/2003 125 130 TEST 10/11/2003 80 110 TEST 11/11/2003 90 100
Votre aide sera la bienvenue.JOUR PLUIE 10/11/2003 FORTE 11/11/2003 SANS 12/11/2003 FAIBLE 13/11/2003 SANS 16/11/2003 FORTE
Cordialement
Partager