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

Développement SQL Server Discussion :

[SQL2005] Requête SQL qui m'embête


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 66
    Par défaut [SQL2005] Requête SQL qui m'embête
    Bonjour à tous!

    Je me demande simplement comment ajouter un where à la requête SQL suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT     Location, GSDC_Name, PA_Name, CA_Name, [Week of Availability] AS [Week], MAX([Date of entry]) AS [Date of entry]
                                FROM          dbo.VIEWLatestYear ta2
                                GROUP BY Location, GSDC_Name, PA_Name, CA_Name, [Week of Availability]
    à ce code, je veux ajouter un where qui dit "où [Date of entry] date de moins de 2 semaines"

    c'est probablement simple mais je ne trouve pas comment faire.

    Merci de votre aide!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Par défaut
    Bonsoir,

    Deux fonctions vont te permettre de répondre à ton besoin :

    GETDATE() qui te renvoi la date du jour
    DATETADD() qui rajoute un intervalle à la date specifiée

    Cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Location, GSDC_Name, PA_Name, CA_Name, [Week of Availability] AS [Week], 
    MAX([Date of entry]) AS [Date of entry]
    FROM dbo.VIEWLatestYear ta2
    WHERE [Date of entry] >DATEADD(WEEK,-2,GETDATE())
    GROUP BY Location, GSDC_Name, PA_Name, CA_Name, [Week of Availability]
    Attention, on tient compte ici des heures et des minutes

    Plus d'nfo ici : http://baptiste-wicht.developpez.com...-sql/datetime/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 66
    Par défaut
    oh, parfait! merci beaucoup, c'est exactement ce que je voulais.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 66
    Par défaut
    oh, non ca n'est pas exactement ce que j'ai besoin après tout. Il faut que ce soit moins de deux semaines de travail, ou semaine de l'année si tu préfères.

    Exemple, d'aujourd'hui à Samedi les données valides seraient celles dont l'entrée est datée de Lundi dernier ou plus tard.

    J'ai regardé le lien que tu m'as donné mais je n'ai pas vu de fonction qui faisait cela facilement. Existe-t-il quelque chose pour faire cela?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Oui, un modèle de données adapté...

    Lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/gestiontemps/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Par défaut
    Quel dommage ; te voilà obligé de faire du bricolage !

    La réponse à ta question se trouve dans le chapitre "VIII. Recherche sur une partie de date" du document dont je te parlais.

    Cherches du coté de la fonction DATEPART avec WEEKDAY en paramètre. Tu devra surement spécifier au début de ta transaction le premier jour de la semaine grâce à SET DATEFIRST.

    La meilleure solution etant, comme on te l'a suggéré, de reprendre ton modèle de donnée

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

Discussions similaires

  1. [SQL2005] Requête SQL qui m'embête
    Par Dohmaker dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/01/2008, 22h24
  2. Exécution d'une requête SQL qui affiche un message
    Par Platon93 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/11/2006, 16h15
  3. [MySQL] Requête SQL qui zappe la premiere ligne
    Par mulbek dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/01/2006, 16h24
  4. Réponses: 2
    Dernier message: 06/06/2005, 15h13
  5. Requête SQL qui me bloque
    Par David Guillouet dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/04/2004, 14h52

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