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 :

besoin d 'aide pour formuler une requête


Sujet :

Langage SQL

  1. #1
    cdu
    cdu est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 196
    Points : 222
    Points
    222
    Par défaut besoin d 'aide pour formuler une requête
    bonjour,
    ma problématique est de rassembler des enregistrements d'une table à condition qu'ils se suivent dans le temps et soient égaux sur un certains nombre de champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     table(num,datdeb,datefin,x1,..xn)
    on peut fusionner un enreg avec le suivant si
    A.datefin=B.datedeb
    A.x1,..,A.xn=X.x1,..,B.Xn
    dans ces cas j'opére la fusion en mettant à jour la datefin de A avec celle de B, puis en supprimant B
    jusque là tout va bien, mis à part un problème de performance

    je voudrais donc réussir à selectionner l'ensemble des enregistrements tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A.datefin=B.datedeb, B.datefin=C.datedeb,.... ,X.datefin=Y.datedeb
    et X.x1,..,X.xn=Y.x1,..,Y.xn pour tout enreg X,Y
    en selectionnant les min des datedeb et max des datefin j'obtiendrai alors directement le résultat.

    Il existe surement une syntaxe éfficace.

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    A part la récursion, je ne vois pas :
    ORACLE : CONNECT BY
    Norme SQL : WITH RECURSIVE
    SQLServer 2005 : WITH (sans le RECURSIVE )
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Est-ce qu'un requête comme celle-ci peut être utile ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table as A,table as B WHERE A.datefin=B.datedeb AND A.x1=B.x1 AND A.x2=B.x2 AND ... AND A.xn = B.xn
    Remplacez ... par autant de A.x?=B.x? qu'il y a de champs à comarer.

Discussions similaires

  1. Besoin d'aide pour créer une requête
    Par cedric/copy dans le forum ASP
    Réponses: 6
    Dernier message: 13/03/2009, 16h29
  2. Besoin d'aide pour créer une requête
    Par fabien59420 dans le forum Requêtes et SQL.
    Réponses: 44
    Dernier message: 26/05/2008, 11h08
  3. Aide pour formuler une requête sql
    Par viny dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/05/2008, 20h37
  4. [MySQL] besoin d'aide pour exécuter une requête et en récupérer le résultat
    Par fast462 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 28/05/2007, 10h30
  5. besoin d'aide pour optimiser une requête
    Par jisse dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 09h41

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