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

MS SQL Server Discussion :

idees sur requete a simplifier ???


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 48
    Points : 44
    Points
    44
    Par défaut idees sur requete a simplifier ???
    slt,

    voila g une requete pas tres simple, je resume :

    la table:

    numero | date
    12345 01/01/04
    13254 01/01/04
    15986 02/01/04
    ... ...

    et le but de la requete c d'avoir le nb de nouveau numero jours par jours, sachant que par exemple au jour 03 on fait un distinct sur numero mais il ne faut pas compter les numero deja vu le 01 et 02

    pour l'instant je fait une boucle qui analyse jours par jours et qui a chaque tour remplit une base temporaire de numeros par rapport a laquelle je me refere ds ma requete.

    et ca marche, mais bon 41minutes !!!!

    dc j'aimerais savoir si qqun avait une autre idee a laquelle je n'ai pas pense.

    voici la requete :

    while @i <= @nb_jrs
    begin

    insert into #tmp(jours) values(@i)

    exec('update #tmp set new = (select count(a_number)
    from '+@NomTable+'
    where datepart(dd, la_date) = '+@i+'
    and a_number not in(select numero from #base))
    where jours = '+@i+'')

    exec('insert into #base(numero) select distinct(a_number)
    from '+@NomTable+'
    where datepart(dd, la_date) = '+@i+'
    and a_number not in(select numero from #base)')

    set @i = @i + 1
    end
    j'espere avoir ete clair, et merci d'avance

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Essaie ceci.
    Je n'ai pas tester.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT T2.DATE,COUNT(*) AS NB
    FROM TABLE1 T1
    WHERE NOT EXISTS (
    		  SELECT T2.NUMERO,T2.DATE
    		  FROM TABLE1 T2
    		  WHERE T2.NUMERO=T1.NUMERO
    		  AND T1.DATE=T2.DATE-1
    		 )
    GROUP BY T2.DATE
    N'oublie pas de marquer ton poste resolu.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    oups dsl, j'etai pas la du weekend, desole pr les suites au message...

    je vai tester tt de suite , merci encore

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

Discussions similaires

  1. [ASA] Problème sur requete ASA
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 6
    Dernier message: 06/04/2005, 14h35
  2. [ASA] Problème sur requete
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 9
    Dernier message: 30/03/2005, 15h59
  3. Calcul sur requete
    Par nicoolas dans le forum Access
    Réponses: 3
    Dernier message: 11/01/2005, 16h50
  4. [Access] Manque d'idées sur une requête
    Par portu dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/11/2004, 12h25
  5. Problème graveur ide sur mdk10
    Par Hanslip dans le forum Matériel
    Réponses: 40
    Dernier message: 26/10/2004, 13h17

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