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 :

casse tete sur une requete - probleme de Séléction


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut casse tete sur une requete - probleme de Séléction
    Bonjour
    En considerant cette table :

    param1 | date_changement | statut initial

    1 | null | oui
    2 | 08/12/1999 | non
    3 | 02/04/2002 | non

    Je souhaiterais avec une requete SQL parcourir cette table annee par annee depuis le 1janvier 1983 et je voudrais pour chaque annee, extraire le param1.
    Ici par exemple, du 1er janvier 1983 au premier janvier 1999, param1=1, puis du 1er janvier 1999 au 1er janvier 2002 param1=2, puis au dela param1=3

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Points : 164
    Points
    164
    Par défaut
    Utilise tu du PHP pour intérroger ta base de données?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    non, je voudrais tout faire juste avec la requete SQL.

    pour incrementer les années j'ai une table a coté qui liste toutes les années, et je fais un join.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Points : 164
    Points
    164
    Par défaut
    J'ai deja un bout de solution si tu veux :

    SELECT Nom, Prénom, Date
    FROM Personnes
    WHERE Year([Date])=2002;

    Ca te selectionne l'année 2002 d'un champ de type date.

    Je cherche pour le reste de la réponse

    Je pense que tu peux utiliser des requetes PL/SQL avec la clause FOR

  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
    21 772
    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 : 21 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    create Table T_histo_hst
    (hst_param  Int,
     Hxt_date   Datetime,
     Hst_statut Bit)
     
    Insert Into T_histo_hst Values (2, '1999-12-08', 0)
    Insert Into T_histo_hst Values (3, '2002-04-02', 0)
     
    Select T1.hxt_date As Date_min, T1.hst_param, 
           Coalesce(max(t2.hxt_date), '1900-01-011') - 1 Day As Date_max
    From   T_histo_hst T1
           Left Outer Join T_histo_hst T2
                 On T1.hxt_date > T2.hxt_date
    Group By T1.hxt_date, T1.hst_param
     
    Date_min                                               Hst_param   Date_max                                               
    ------------------------------------------------------ ----------- ------------------------------------------------------ 
    1999-12-08 00:00:00.000                                2           1900-01-10 00:00:00.000
    2002-04-02 00:00:00.000                                3           1999-12-07 00:00:00.000
    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/ * * * * *

Discussions similaires

  1. Probleme sur une requete d'update
    Par trinea dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/08/2007, 19h57
  2. probleme sur une requete
    Par popofpopof dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/06/2007, 06h16
  3. probleme sur une requete avec DISTINCT
    Par samsso2006 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/05/2007, 14h35
  4. [MySQL 4.1] probleme d'accents sur une requete SQL
    Par tatayoyo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/11/2005, 16h06
  5. Probleme sur une requete
    Par ager1912 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2005, 10h16

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