2011-10-04 6 views
4

J'ai une instruction SELECT avec UNPIVOTUnpivot SQL avec des numéros de ligne

SELECT dycd_acnam, dycd_dynam, dycd_value 
FROM GCATT.dbo.tblDaycode UNPIVOT (
dycd_value FOR dycd_dynam IN (
    Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) 
) AS pvtDaycode 
GROUP BY dycd_acnam, dycd_dynam, dycd_value 

et renvoie des valeurs comme

dycd_acnam | dycd_dynam | dycd_value 
---------------------------------------- 
MT   | Monday  | 1 
MT   | Tuesday  | 1 
MT   | Wednesday | 0 
MT   | Thursday  | 0 

Comment puis-je ajouter un numéro de ligne avant la ligne dycd_acnam? Essayé RANK() mais il a renvoyé des valeurs incorrectes. Je veux éviter d'utiliser les tables #Temp autant que possible.

+1

Comment est calculée la 'row_number'? –

+0

Séquentiellement. Comme une rangée d'identité. – ELM

Répondre

3

Si vous voulez juste une colonne incrémenter ajouté au résultat que vous pouvez ajouter

ROW_NUMBER() OVER (ORDER BY (SELECT 0)) 

à la liste SELECT

+0

Wow. Propre et simple. Merci beaucoup mon pote! :RÉ – ELM