Heim  >  Fragen und Antworten  >  Hauptteil

SQL – wenn lineid „01“ ist, verwenden Sie newid, andernfalls verwenden Sie id

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粉394812277P粉394812277180 Tage vor383

Antworte allen(1)Ich werde antworten

  • P粉648469285

    P粉6484692852024-04-03 09:50:47

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

    SELECT ROW_NUMBER() over(partition by [LineId] order by [LineId]) as DocId,
          [LineId],
          [Price]
      FROM [StackOverflow].[dbo].[RunningCount] order by [LineId]

    Antwort
    0
  • StornierenAntwort