SORU
23 EYLÜL 2009, ÇARŞAMBA


() SQL Row_Number Where fonksiyonu

Bir soru ile cevap buldum Row_Number() where. fonksiyon Bir sorgu çalıştığımda aşağıdaki hatayı alıyordum.

 "Msg 4108, Level 15, State 1, Line 1 
  Windowed functions can only appear in the SELECT or ORDER BY clauses."

Burada çalıştım sorgu. Eğer birisi bu çözmek için nasıl biliyorsa, lütfen bana bildirin. Şimdiden teşekkürler.

SELECT employee_id 
FROM V_EMPLOYEE 
WHERE row_number() OVER ( ORDER BY employee_id ) > 0 
ORDER BY Employee_ID

~Joseph

CEVAP
23 EYLÜL 2009, ÇARŞAMBA


Bu sorunu çözmek için, bir CTE seçin ifadenizi sarın ve sonra CTE karşı sorgu ve where pencere işlevi sonuçlarını kullanabilirsiniz.

WITH MyCte AS 
(
    select   employee_id,
             RowNum = row_number() OVER ( order by employee_id )
    from     V_EMPLOYEE 
    ORDER BY Employee_ID
)
SELECT  employee_id
FROM    MyCte
WHERE   RowNum > 0

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mr. H

    Mr. H

    1 Temmuz 2012
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006