{SQL Server} Selectionner premier et dernier

Résolu
powerwave Messages postés 44 Statut Membre -  
powerwave Messages postés 44 Statut Membre -
Bonjour,
svp, je veux selectionner le premier, le suivant, precedent et le dernier enregistrement d'une table (sans trier)
naviguer en gros :)

je met chaque commande dans une procedure, puis je fais appelle a cette derniere grace a un bouton sur VB.net, et sa l'affiche sur mes textbox, (je sais, c'est plus facile sur une listview mais bon je ne dois pas l'utiliser :) ) l'ado.net quoi :D mais il me faut les commandes SQL

merci d'avance
Configuration: Windows 7 Internet Explorer 8.0

7 réponses

  1. fiu
     
    Bonjour,
    premier, suivant, precedent et dernier sont des notions qui n'ont un sens que dans un ensemble ordonné (dans un tas de patates, tu n'as pas une première patate ! pas plus qu'une dernière)
    1
  2. powerwave Messages postés 44 Statut Membre 10
     
    ok, ben si t'as la solution avec un order by, je suis proneur ;D
    1
  3. toma_f_1 Messages postés 94 Statut Membre 7
     
    bonjour powerwave

    regarde la commande sql LIMIT, ca répond peut être à ton problème.
    1
  4. powerwave Messages postés 44 Statut Membre 10
     
    il me souligne la commande limit qd je la tappe et erreur au moment de l'execution (je suis sur SQL server 2008 et pas sur mySQL)

    select num from employee limit 0,1
    ou select num from employee where limit 0,1

    de l'aide please :(
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. toma_f_1 Messages postés 94 Statut Membre 7
     
    ah effectivement limit est propre à mysql ( :-) )

    désolé peut pas t'aider. google sera ton ami je pense...

    apparement il y a une bidouille en utilisant l'opérateur TOP.
    1
  7. fiu
     
    Salut,
    J'ai pas MSSQL2008.

    chez moi, pour trouver le premier et le dernier événement dans mon calendrier, je fais
    select * from calendrier
    where dtevenement in (
    select min(dtEvenement) from calendrier where dtEvenement between '2009-12-01' and '2010-12-31'
    union
    select max(dtEvenement) from calendrier where dtEvenement between '2009-12-01' and '2010-12-31'
    );
    je te laisse adapater ça.

    Si par hasard, ton critère pour repérer le premier ou le dernier de ton ensemble est sur 2 colonnes, essaie
    select * from taTable
    where (expression1, expression2) in (
    select expressionA, expressionB from taTable where ...
    union
    select expressionC, expressionD from taTable where ...
    );
    1
  8. powerwave Messages postés 44 Statut Membre 10
     
    ok merci
    1