Jump to content

Christoph-MG

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Christoph-MG

  1. Hallo Zusammen,
     
    Ich muss euch um Hilfe bitten. Ich bin mit meinem SQL Latein am Ende und das ist zugegeben noch nicht so groß, aber ich weiss nicht genau wie ich das noch anderes suchen soll, im Internet.

     

    Entschuldigt die Form mit den Tabellen, aber eigenfügen hat noch geklappt. Die Vorschau war dann fürn A......
     
     
    Ich habe zwei Tabellen, diese hier heißt arpreis, die Felder wie die Überschriften
     

    Artikelnummer        Preis        VonDatum
    12300534             420            01.01.2016
    12300534             430           01.02.2016
    12300534             440           01.03.2016
    12300535             845           01.01.2016
    12300535            850            01.02.2016
    12300536            1795            01.01.2016
    12300536            1800            01.02.2016

     
    Aus dieser hole ich mir die jüngsten Werte und schreibe sie in eine andere Tabelle per:
     
     
    Insert INTO Kundenpreisaktualisierung (Artikelnummer, Preis1neu, vonDatum)
     
    SELECT A.Artikelnummer, A.Preis as Preis1neu, a.Vondatum
    FROM arpreis As A INNER JOIN
     
                    (SELECT B.Artikelnummer, Max(B.vonDatum) As [Max-Datum]
                    FROM arpreis As B
                    GROUP BY B.Artikelnummer) As C
     
    ON A.Artikelnummer = C.Artikelnummer And
                    A.vonDatum = C.[Max-Datum]
     
    where A.preistyp ='G' and Typnummer ='1'
     
     Artikelnummer            Preis1alt            Preis1neu            Prozent            VonDatum           
    12300534                                                      440                                    01.03.2016           

    12300535                                                      850                                    01.02.2016
    12300536                                                     1800                                   01.02.2016


     
    Jetzt müssen aus der Arpreis Tabelle (oben) die jeweils zweit jüngsten Werte dazu. Das ist nur ein Teil der Tabelle, die wird noch mit vielen Daten gefüllt. es geht aber immer um den jüngsten und den zweitjüngsten Wert.
     


    Artikelnummer            Preis            VonDatum

    12300534                  420            01.01.2016
    12300534                  430            01.02.2016
    12300534                  440            01.03.2016
    12300535                  845            01.01.2016
    12300535                  850            01.02.2016
    12300536                1795            01.01.2016
    12300536                1800            01.02.2016


     
    Mit der Abfrage erwische ich leider alle älteren, nicht nur den einen zweit jüngsten:
     
    select * From arpreis as A
    right outer Join Kundenpreisaktualisierung as ap
    ON Ap.artikelnummer = a.artikelnummer
     
    where a.preistyp ='G' and a.vondatum < (select top 1 max(vondatum) from arpreis where preistyp ='G' and artikelnummer = a.artikelnummer)
     

    Artikelnummer            VonDatum            Preis      Artikelnummer_1         Preis1neu   vonDatum_1

    12300534            01.01.2016            420            12300534                      440           01.03.2016
    12300534            01.02.2016            430            12300534                      440           01.03.2016
    12300535            01.01.2016            845            12300535                      850           01.02.2016
    12300536            01.01.2016            1795          12300536                     1800          01.02.2016
              
     
    Also fehlt mir bloss irgendwo eine weitere Eingrenzung. Kann mir jemand helfen?
     
    mit Grüßen MG

×
×
  • Neu erstellen...