IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

requête avec WHERE A < Date < B de semaine en semaine


Sujet :

Langage SQL

  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut requête avec WHERE A < Date < B de semaine en semaine
    Bonjour,

    j'ai une requête répétitive à faire, que j'arriverai à gérer en programmation mais ce sera beaucoup plus performant si j'arrive à faire tout en SQL (sûrement via une procédure stockée).

    Je devrais en fait sortir une reqûete SELECT d'une table contenant un champ date, avec une requête pour chaque semaine.
    c-à-d que si je prend la date d'aujourd'hui, je ferai mon SELECT avec dans le WHERE la date qui doit être comprise entre aujourd'hui et lundi, puis une requête entre dimanche de la semaine passée et lundi de la semaine passée, puis, ... et cela N fois (N étant choisi par l'utilisateur).

    Donc si je n'ai pas été assez clair, l'utilisateur choisi le nombre de semaine qu'il veut, et à partir d'aujourd'hui on remonte N semaine en arrière.

    J'arrive à faire cela en programmation, mais j'aimerais pouvoir le faire en SQL
    Le but étant, je suppose que vous vous en doutez de ressortir un tableau.

    Alors j'ai une table, sur laquelle je vais avoir plusieurs WHERE simples, plus alors le WHERE dynamique avec la balise de date de début, et la balise de date de fin.

    Je suppose que pour pouvoir réaliser ce genre d'opération en SQL il s'agit de passer par une procédure stockée?

    Si vous pouviez me donner un peu de code sur le principe et la manière de réaliser ce genre d'opération, ce serait le bienvenu.

    Merci et bonne journée

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Salut,

    Si tu es en SQL Server tu peux utiliser la fonction Datename avec l'argument week; Cela te reverra le numero de la semaine dans l'année.
    Ensuite il te restera a faire des group par numéro de semaie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Datename(week,champdate) from table
    Pour les autres bases de données je ne sais pas si cette fonction est existante


    Jérôme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête avec un intervalle de date
    Par heruwenli dans le forum SQL
    Réponses: 4
    Dernier message: 26/06/2008, 12h46
  2. [MySQL] Requête avec WHERE 1 AND et plein de OR le AND n'est pas pris en compte
    Par alsaco68 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2008, 10h09
  3. [MySQL] requête avec WHERE sur primary key
    Par newbiemac dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/09/2007, 09h41
  4. Problème de requête avec WHERE MAX()
    Par seb92500 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 24/01/2007, 12h27
  5. Requête avec comparaison pour la date
    Par buzz! dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 10/08/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo