deklarieren Ich möchte ein Dataset 'bereinigen' und eine neue Variable deklarieren und dann ein Datum basierend auf dem Rang eingeben.Neue Variable und Eingabedatum basierend auf Rang
Mein-Datensatz sieht wie folgt aus:
+-----+--------------+------------+-------+
| ID | Start_date | End_date | Rank |
+-----+--------------+------------+-------+
| a | May '16 | May '16 | 5 |
| a | Jun '16 | Jul '16 | 4 |
| a | Jul '16 | Aug '16 | 3 |
| a | Aug '16 | NULL '16 | 2 |
| a | Sept '16 | NULL '16 | 1 |
+-----+--------------+------------+-------+
ich das Startdatum von Rang 1 in das Enddatum der Rang 2 oder sagen Eingang 5 beginnen grundsätzlich eingeben möchten in Ende 6 (immer 1).
haben folgendes auswählen in eine tempory Tabelle und Rang basierend auf ID und das Datum geschrieben:
SELECT
[Start_Date] as 'start'
,[End_Date] as 'end'
,[Code] as 'code'
,[ID] as 'id'
,rank() over (partition by [id] order by [Start_Date]) as 'rank'
INTO #1
FROM [Table]
ORDER BY [id]
Sein folgenden Teil, der nicht ... Sie arbeiten
DECLARE new_end
BEGIN select [#1].[start] into new_end FROM [#1]
WHERE (
([#1].[rank] = 1)
AND ([#1].[end] IS NULL)
)
Post erwartete Ausgabe so kann sich jeder leicht helfen. – Tomato32