SQL – wenn lineid „01' ist, verwenden Sie newid, andernfalls verwenden Sie id
P粉394812277
P粉394812277 2024-04-02 12:08:51
0
1
485

Ich habe solche Daten in meiner Tabelle

Zeilennummer Preis €
01 100,00
02 200,00
01 10.34
01 311.12
01 14.33
02 36,44
03 89,70
04 11.33

Ich möchte, dass meine Ausgabe so ist

Dokumentation Zeilennummer Preis €
1 01 100
1 02 200,00
2 01 10.34
3 01 311.12
4 01 14.33
4 02 36,44
4 03 89,70
4 04 11.33

Die Rechnungsdaten und jede Zeile haben die Zeilen-ID = „01“, was bedeutet, dass die Informationen für verschiedene Rechnungen gelten. Ich muss sie also mit einer neuen Dokument-ID kennzeichnen und benötige Ihre Hilfe, um sie mithilfe des Befehls zu erstellen. < /p>

Das mag einfach sein, aber ich habe hier wie ein Verrückter gesucht und keine Lösung gefunden.

EDIT: Ja, ich möchte „docid jedes Mal erhöhen, wenn lineid gleich 01 ist“

P粉394812277
P粉394812277

Antworte allen(1)
P粉648469285

您可以使用如下所示的运行计数(假设这是您正在谈论的 MS SQL)

SELECT ROW_NUMBER() over(partition by [LineId] order by [LineId]) as DocId,
      [LineId],
      [Price]
  FROM [StackOverflow].[dbo].[RunningCount] order by [LineId]
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage