Jump to content

einfache Abfrage ?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...