geändert hat habe ich eine Rep-Tabelle mit den folgenden Feldern:TSQL - Wählen Sie Zeilen, in denen Spaltenwert
Es kann die RepNbr seiner Änderungen. Ich muss eine Abfrage schreiben, die zeigt, was die repnbr für jedes effektive Datum war. Was das Repnbr war vorher und dann, wenn es eine Veränderung gibt. Also, ich versuche, das Repnbr von M258 am 21.10. (Was das Repnrbr vorher war), das RepNBR von DM25 am 6.3.16 und was das RepNbr von M258 am 6.8.16 war.
Ich habe die folgende Abfrage versucht: Diese Abfrage zieht nur das Effektivdatum von 6/3 und 6/8 und schaut nicht zurück, was der repnbr zuvor war.
;with t1 as
(
select
acctnbr,
repnbr,
effectivedate,
rn = row_number() over (partition by repnbr order by acctnbr)
from
reptable
where
acctnbr = '123'
)
select
*
from
t1
where
rn = '1'
order by
effectivedate
Ergebnisse:
Meine Ausgabe aussehen sollte:
Was bin ich mit meiner Frage zu tun falsch? Danke,
wie sollte die Ausgabe aussehen? –
'Ich versuche, die repnbr von M258 auf 10/21 zu ziehen' - Ich finde keinen Hinweis darauf in Ihrem Code – techspider
alles, was Sie getan haben, ist eine Reihe von Daten auszuschließen ... und Sie werden zu Sie möchten nach Acct, EffectiveDate partitionieren, damit Sie für jedes Konto für jeden Gültigkeitszeitraum einen Datensatz erhalten. Da Ihre Zeilen sowieso einzigartig sind, scheint das alles trivial zu sein. Vielleicht würde Ihr realer Datensatz ein besseres Beispiel zeigen. – scsimon