Announcement

Collapse
No announcement yet.

Zweites Ergebniss einer abfrage?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zweites Ergebniss einer abfrage?

    Hallo NG,

    eigentlich ein Einfaches Problem. Ich brauche das Zweite Ergebnis au einer abfrage. Wie komme ich an dieses ran.

    Beispiel

    SELECT *
    FROM Region
    ORDER BY RegionID

    1 Eastern
    2 Western
    3 Northern
    4 Southern

    Ich brauche -> 2 Western Gibt es so was wie "Select *, startAt 2"

    Grüße Bobert

  • #2
    SELECT *
    FROM Region WHERE Region="Western"
    Christian

    Comment


    • #3
      SELECT * FROM Region WHERE Region="Western"

      Wen ich bei der Abfrage wüste was raus kommt würde ich es gleich hinschreiben, Klar...

      Ich habe eine Daten-Tabelle mit einer Relation-Tabelle.

      Mit der Northwind Datenbank ein Beispiel. Ein Kunde(DatenTabelle) kann zwischen 1 und n (Relation-Tabelle) Bestellungen getätigt haben ich suche die Nummer der zweiten Bestellung.

      SELECT Orders.OrderID, Customers.CustomerID
      FROM Customers
      JOIN Orders ON Customers.CustomerID = Orders.CustomerID
      WHERE Customers.CustomerID = 'ALFKI'
      ORDER BY Orders.OrderID

      10643 ALFKI
      10692 ALFKI <-Die Zweite OrderID brauche ich
      10702 ALFKI
      10835 ALFKI
      10952 ALFKI
      11011 ALFKI

      Comment


      • #4
        Kleine ergänzung:

        Ich brauche sowas wie "start 2" womit ich das zweite ergebniss als erstes bekomme.

        SELECT start 2 Orders.OrderID, Customers.CustomerID
        FROM Customers
        JOIN Orders ON Customers.CustomerID = Orders.CustomerID
        WHERE Customers.CustomerID = 'ALFKI'
        ORDER BY Orders.OrderID

        10692 ALFKI
        10702 ALFKI
        10835 ALFKI
        10952 ALFKI
        11011 ALFKI


        Normalerweise


        SELECT Orders.OrderID, Customers.CustomerID
        FROM Customers
        JOIN Orders ON Customers.CustomerID = Orders.CustomerID
        WHERE Customers.CustomerID = 'ALFKI'
        ORDER BY Orders.OrderID

        10643 ALFKI
        10692 ALFKI
        10702 ALFKI
        10835 ALFKI
        10952 ALFKI
        11011 ALFKI

        Comment


        • #5
          Hi,

          sicherlich nicht die eleganteste Lösung, aber löpt ...

          Code:
          use tempdb
          GO
          create table dbo.test (
          	ID int NOT NULL identity( 1,1 ),
          	Wert nvarchar(10) NULL )
          GO
          insert into dbo.test ( Wert ) values ( N'Hallo' )
          insert into dbo.test ( Wert ) values ( N'Moin' )
          insert into dbo.test ( Wert ) values ( N'Tach' )
          GO
          
          select TOP 1 A.ID, A.wert from 
          ( select TOP 2 ID, wert from test order by ID ) as A
          order by A.ID desc
          HTH,
          Karsten

          Comment


          • #6
            Ohh fein klappt... wenn es mehrere ergebnisse hat

            Code:
            SELECT TOP 1 OrderID, CustomerID from  
            (  SELECT TOP 2 Orders.OrderID, Customers.CustomerID FROM Customers 
               JOIN Orders ON Customers.CustomerID = Orders.CustomerID
               WHERE Customers.CustomerID = 'ALFKI'
               ORDER BY Orders.OrderID  ) as A order by OrderID desc
            10692 ALFKI


            Wenn nur 1 ergebniss vorhanden ist z.B: .CustomerID = 'CENTC' geht es leider nicht .... schade

            Code:
            SELECT TOP 1 OrderID, CustomerID from  
            ( SELECT TOP 3 Orders.OrderID, Customers.CustomerID FROM Customers 
              JOIN Orders ON Customers.CustomerID = Orders.CustomerID
              WHERE Customers.CustomerID = 'CENTC'
              ORDER BY Orders.OrderID  ) as A order by OrderID desc
            10259 CENTC

            Code:
            SELECT Orders.OrderID, Customers.CustomerID
            FROM Customers
            JOIN Orders ON Customers.CustomerID = Orders.CustomerID
            WHERE Customers.CustomerID = 'CENTC'
            ORDER BY Orders.OrderID
            10259 CENTC


            Aber Danke und Grüße
            Bobert
            Zuletzt editiert von Bobert; 08.07.2008, 12:30. Reason: Nachtrag

            Comment

            Working...
            X