Requête facile

Fermé
Willp22 Messages postés 2 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 13 novembre 2011 - 13 nov. 2011 à 18:46
 fact5 - 16 nov. 2011 à 12:18
Bonjour,

J'ai une petite requête a faire, sur lequel je bloque !
Elle concerne une seul table la table : Barème

Id DateDébut DateFin
1 01/01/2010 31/03/2010
2 01/04/2010 30/06/2010
3 01/07/2010 30/09/2010
4 01/10/2010 31/12/2010
5 01/01/2011 31/03/2011
6 01/04/2011 30/06/2011
7 01/07/2011 30/09/2011
8 01/10/2011 31/12/2011

Voila la question : Compter le nombre de barèmes pour lequel il existe un barème qui commence le jours suivant la fin du barème courant. Il doit normalement y en avoir 7, puisque le barème le plus récent n'a pas de successeur.

Je n'ai pas le droit d'utiliser l'assistant, et je partais dans une requête de ce genre :

SELECT ,COUNT(Barème.IdBarème) AS [Nb Barèmes Consécutifs]
FROM Barème
WHERE "DateDébut"="DateFin" +1d;

Mais ca ne marche pas !

En gros je veux dire que la date de début est égale a la date de fin d'avant mais + 1 jours !

Si vous avez une solution, ou une idée je suis preneur, merci d'avance !



2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 14/11/2011 à 11:50
Bonjour,

Puisqu'on n'est pas là pour faire les devoirs des étudiants, je vais me contenter d'une petite explication.
Ta requête ne peut pas fonctionner car dans une requête simple, on ne considère les champs que ligne à ligne.
Donc hors de question de comparer les champs d'une ligne à ceux d'une autre ligne.

La solution est d'effectuer une jointure sur la table elle-même, en utilisant par exemple comme contrainte de jointure ce que tu mettais dans ta clause WHERE...

Xavier
0
j'ai le meme devoir a faire!!!alor si on peut s'entraider??Ca serait cool!!
0
salut!
Tu es bien en L2 eco-g a nanterre?et ton devoir est bien pour demain?
0