SQL - lorsque l'ID de ligne est '01', utilisez newid, sinon utilisez id
P粉394812277
P粉394812277 2024-04-02 12:08:51
0
1
484

J'ai de telles données dans ma table

numéro de ligne Prix €
01 100.00
02 200.00
01 10.34
01 311.12
01 14.33
02 36.44
03 89.70
04 11.33

Je veux que ma sortie soit comme ça

Documentation numéro de ligne Prix €
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

Ses données de facture et chaque ligne ont lineid='01' signifie que les informations concernent différentes factures, je dois donc les étiqueter avec le nouveau documentID et j'aimerais votre aide pour le créer à l'aide de la commande. < /p>

Cela est peut-être simple mais j'ai cherché comme un fou ici et je n'arrive pas à trouver de solution.

EDIT : Oui, ce que je veux, c'est "incrémenter docid à ​​chaque fois que lineid est égal à 01"

P粉394812277
P粉394812277

répondre à tous(1)
P粉648469285

Vous pouvez utiliser le nombre d'exécutions comme ci-dessous (en supposant que vous parlez de MS SQL)

SELECT ROW_NUMBER() over(partition by [LineId] order by [LineId]) as DocId,
      [LineId],
      [Price]
  FROM [StackOverflow].[dbo].[RunningCount] order by [LineId]
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal