Maison  >  Questions et réponses  >  le corps du texte

SQL - lorsque l'ID de ligne est '01', utilisez newid, sinon utilisez id

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粉394812277P粉394812277180 Il y a quelques jours380

répondre à tous(1)je répondrai

  • P粉648469285

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

    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]

    répondre
    0
  • Annulerrépondre