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 :

SQL 2005 Erreur de CTE


Sujet :

Développement SQL Server

  1. #1
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut SQL 2005 Erreur de CTE
    Bonjour à tous !




    petite explication de ce que j'essaie de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	select 
    		row_number() over (partition by t.time order by t.time asc) as num,  
    		price
    	from tmp_intraday_bb t
    	where  condition_code is null
    	and ticker ='FTE FP Equity'
    1 19.31
    2 19.325
    3 19.32
    4 19.32
    5 19.32
    6 19.325
    7 19.325
    maintenant je veux la ligne avec un numéro à 1

    1 19.31
    2 19.325
    3 19.32
    4 19.32
    5 19.32
    6 19.325
    7 19.325
    mais si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from #test where num = 1
    1 19.31
    1 19.325
    1 19.32
    1 19.32
    1 19.32
    1 19.325
    1 19.325

    J'ai essayé aussi ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select *
    from (
    select 
    	row_number() over (partition by t.time order by t.time asc) as num,  
    	price
    from tmp_intraday_bb t
    where  condition_code is null
    and ticker ='FTE FP Equity'
    ) t
    where num = 1
    mais j'obtiens toujours
    1 19.31
    1 19.325
    1 19.32
    1 19.32
    1 19.32
    1 19.325
    1 19.325

    Avec le CTE j'ai le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH CTE as
    (
    select 
    	row_number() over (partition by t.time order by t.time asc) as num, 
    	price
    from tmp_intraday_bb t
    where  condition_code is null
    and ticker ='FTE FP Equity'
    )
    select * from CTE where num = 1
    et résultat :
    1 19.31
    1 19.325
    1 19.32
    1 19.32
    1 19.32
    1 19.325
    1 19.325
    Ce qui est franchement n'importe quoi.

    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH CTE as
    (
    select 
    	row_number() over (partition by  t.time, order by t.time asc) as num,  
    	price
    from tmp_intraday_bb t
    where  condition_code is null
    and ticker ='FTE FP Equity'
    )
    select * from CTE where num between 1 and 3
    1 19.31
    2 19.325
    3 19.32
    1 19.33
    2 19.33
    3 19.335
    1 19.4

    Savez-vous pourquoi il me fait ça ?


    Merci !

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    c'est bon j'ai trouvé, il ne fallait pas faire un partition by puis un order by sur le même champ

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

Discussions similaires

  1. [SQL 2005] Erreur lors d'une sauvegarde
    Par ApprentiOracle dans le forum Administration
    Réponses: 4
    Dernier message: 24/06/2010, 12h49
  2. [C# et SQL Server 2005]Erreur mémoire
    Par dtavan dans le forum Accès aux données
    Réponses: 1
    Dernier message: 05/06/2007, 13h01
  3. [SQL Serveur 2005] Erreur installation
    Par diaboloche dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/05/2007, 11h11
  4. [SQL 2005]Erreur récupérable sur un plan de maintenance ?
    Par Mindiell dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/04/2007, 16h48
  5. [VB.net][2.0][VS 2005] Erreur Sql
    Par guandal dans le forum Accès aux données
    Réponses: 6
    Dernier message: 03/11/2006, 12h19

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