2013-08-20 38 views
1

我能夠在SQL Server中運行此查詢:ROW_COUNT鑑於

SELECT "HIRING PIPE REQ NUMBER", 
     ROW_NUMBER() 
     OVER ( 
      PARTITION BY "HIRING PIPE REQ NUMBER" 
      ORDER BY "HIRING PIPE REQ NUMBER") RowNumber 
FROM DBO.TALENTDELIVERY_REQ_3FACTS 

然而,當我在VIEW把下面的代碼失敗。

SELECT "HIRING PIPE REQ NUMBER", 
     ROW_NUMBER() 
     OVER ( 
      PARTITION BY "HIRING PIPE REQ NUMBER" 
      ORDER BY "HIRING PIPE REQ NUMBER")AS RowNumber 
FROM (SELECT * 
     FROM DBO.TALENTDELIVERY_REQ_3FACTS) 

爲什麼在VIEW中失敗?
如何在VIEW中編寫上述代碼?

+0

那麼,什麼是你的問題? –

+0

您是否收到錯誤消息?如果是這樣,你可以發佈嗎? – Gidil

+3

您似乎在「OVER」的「PARTITION BY」和「ORDER BY」子句中都有相同的列。這很少,如果有的話,是正確的。你能否給出一個表格中數據的小例子,以及預期的結果是什麼? –

回答

1

嘗試這一個 -

CREATE VIEW dbo.vw_view1 AS  

    SELECT [Hiring Pipe Req Number] 
     , ROW_NUMBER() OVER (
       PARTITION BY [Hiring Pipe Req Number] 
       ORDER BY 1/0 
      ) AS RowNumber 
    FROM 
    (
     SELECT * 
     FROM dbo.TalentDelivery_Req_3Facts 
    ) t