2012-03-23 5 views
0

Je dois personnaliser une vue SQL pour pouvoir effectuer un test d'intégration du système. Un tableau permet de suivre les transactions et les ELEMENTS de LIGNE par transaction (par exemple, la transaction 2 a trois articles, donc il y a trois lignes consécutives correspondant au même numéro de transaction). Ce que je dois accomplir est d'obtenir une colonne du nombre d'articles pour cette transaction, toujours à partir de 1 pour chaque transaction.numérotation séquentielle des lignes

Par exemple, la première colonne est TransactionNumber et le second est DesiredOutput:

1     1 
1     2 
2     1 
2     2 
2     3 
3     1 
4     1 
4     2 

ETC ...

Je sais comment numéroter lignes consécutives sur toute la table, mais je ne trouve pas référence à cette numérotation qui dépend d'une valeur sur une autre ligne.

+1

S'il vous plaît ajoutez votre requête en cours afin que nous puissions commencer à partir de là –

+1

quel genre de sql est? mysql? mssql? autre? –

+0

et le type et la version de la base de données (par exemple: Oracle 8.4, MySQL 5 etc) – Gary

Répondre

2

Pour SQL Server 2005+ et Oracle vous pouvez utiliser les éléments suivants:

SELECT TransNumber, ROW_NUMBER() OVER(PARTITION BY Transnumber ORDER BY Something) [DESIRED COLUMN OUTPUT] 
FROM YourTable 
+0

Merci Lamak, je vais l'essayer dès que le système est prêt à tester. – user1288283

+0

Fonctionne comme un charme! Merci beaucoup. – user1288283

Questions connexes