{SQL Server} Selectionner premier et dernier

Résolu
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. 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
    1. ok, ben si t'as la solution avec un order by, je suis proneur ;D
      1
      1. bonjour powerwave

        regarde la commande sql LIMIT, ca répond peut être à ton problème.
        1
        1. 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
          1. 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
            1. 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