Christoph-MG
-
Gesamte Inhalte
3 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von Christoph-MG
-
-
MS-SQL 2012
-
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.201612300535 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
einfache Abfrage ?
in MS SQL Server Forum
Geschrieben
Hallo Wilfried,
das ist genau das was ich gesucht habe!
Hab Vielen Dank!
P.S. Weiss man, was man alles nicht weiss ?