[MySQL 4.1] Erste und nächste Datensatz

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.1] Erste und nächste Datensatz

    Hallo,

    sitze gerade an einem Problem, welches ich hoffe allein durch SQL zu lösen.
    Meine Daten sind wiefolgt aufgebaut
    Code:
    ZEILE | vehicle_id   |   conclude_date   |  fabrikat
    
       1        16537            2002-03-04           FORD GALAXY TDI 1,9
       2        16537            2002-04-04           FORD GALAXY TDI 1,9
       3        16537            2002-05-04           FORD GALAXY TDI 1,9
       4        16538            2002-02-04           VW GOLF 3
       5        16538            2002-03-04           VW GOLF 3
       6        16538            2002-04-04           VW GOLF 3
       7        16538            2002-05-04           VW GOLF 3
       8        16539            2002-02-04           BMW 318I TOURING
    Ich möchte nun die Sätze 2,3, 6,7 und 8 als Ergebnis der Select bekommen.
    Das Prinzip ist einfach:
    - Jedes jüngste eines Fabrikats und
    - das davor (wobei das Datum nicht immer genau einen Monat zurück liegt. Das ist hier nur zur besseren Ansicht so)
    - Ältere Bauhreihen werden also ausgeschlossen

    die vehicle_id gibt mir jeweils die Bauhreihe an und conclude_date das Fertigungsdatum.

    Ich verwende 4.1 und kann deshalb auch eingebundene Selects verwenden.
    Habt Ihr eine Lösung für mich
    ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
    und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

  • #2
    select a.* from tabelle
    left join tabelle b on b.fabrikat=a.fabrikat and b.conclude_date>a.conclude_date
    left join tabelle c on c.fabrikat=a.fabrikat and c.conclude_date>b.conclude_date
    where b.ZEILE is null or (b.vehicle_id=a.vehicle_id and c.ZEILE is null)
    order by fabrikat, conclude_date
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Leider war es das nicht...

      habe mir mal die mühe gemacht die daten einzupflegen, damit man mal ein übersicht der ganzen sache hat. im script unten kann man es mal "nachbauen"

      und das ist dein ergebnis nach einer kleinen korrektur (... FROM tabelle a):

      Code:
      ZEILE	vehicle_id  	conclude_date  	fabrikat  
      
      8	16539		2002-02-04 	BMW 318I TOURING 
      1	16537		2002-03-04 	FORD GALAXY TDI 1,9 
      2	16537		2002-04-04 	FORD GALAXY TDI 1,9 
      3	16537		2002-05-04 	FORD GALAXY TDI 1,9 
      4	16538		2002-02-04 	VW GOLF 3 
      5	16538		2002-03-04 	VW GOLF 3 
      6	16538		2002-04-04 	VW GOLF 3 
      7	16538		2002-05-04 	VW GOLF 3
      Angehängte Dateien
      ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
      und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

      Kommentar

      Lädt...
      X