SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY hrl.Frn) as Row,
hrl.unq, hrl.LcnsId, hc.Business,hc.Name,hc.Phone,
hrl.Frn,hrl.CallSign, hrl.gsamarkettypeid,
gmt.[Market Type Code] + ' - ' + gmt.gsamarkettype,
hrl.gsalatitude,hrl.gsalongitude,
rsc.RadioServiceCode + ' - ' + rsc.RadioService,
GrantDt, ExpirationDt, EffectiveDt,
CancellationDt
FROM dbo.sbi_f_HldrRgstrtnLcns hrl
INNER JOIN dbo.sbi_f_HldrCntcts hc on
hc.CallSign = hrl.CallSign
INNER JOIN dbo.sbi_l_radioservicecodes rsc on
rsc.radioservicecodeid = hrl.radioservicecodeid
LEFT OUTER JOIN dbo.sbi_l_GSAMarketTypes gmt on
gmt.GSAMarketTypeId = hrl.GSAMarketTypeId
WHERE hc.Entity_Type = 'L' AND hrl.LicenseStatusId IN (1)
and Row >=1 and Row <= 20) -- The error occurs here,
-- it says incorrect syntax near)
1
A
回答
6
移動你行的標準到外選擇
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY hrl.Frn) as Row,
...
WHERE hc.Entity_Type = 'L' AND hrl.LicenseStatusId IN (1)
) T
WHERE T.Row >=1 and T.Row <= 20)
0
由於where子句在Select子句之前處理,所以不能在where子句中爲列使用別名。
編輯:
您也可以只添加子查詢在where子句中
Where ((SELECT ROW_NUMBER() OVER (ORDER BY hrl.Frn)) < 20,
或不usingt ROW_NUMBER可言,
Where (Select Count(*)
From dbo.sbi_f_HldrRgstrtnLcns
Where Frn < hrl.Frn) < 20
1
您可以使用CTE執行此操作:
WITH NumberedRows AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY hrn.Frl) AS RowNum,
...
WHERE
hc.Entity_Type = 'L'
AND hrl.LicenseStatusId IN (1)
)
SELECT
*
FROM
NumberedRows
WHERE
RowNum <= 20
0
檢查您正在使用哪個版本的sql server數據庫。 row_number是從sql server 2005開始添加的。它不會支持SQL Server 2000
相關問題
- 1. 這個SQL查詢有什麼問題?
- 2. 這個SQL查詢有什麼問題?
- 3. 這個PDO查詢有什麼問題?
- 4. 這個MYSQL查詢有什麼問題
- 5. 這個SQL查詢有什麼問題?
- 6. 這個查詢有什麼問題
- 7. 這個MySQL查詢有什麼問題
- 8. 這個SQL查詢有什麼問題?
- 9. 這個查詢有什麼問題?
- 10. 這個查詢有什麼問題?
- 11. 這個查詢有什麼問題
- 12. 這個查詢有什麼問題?
- 13. 這個sql查詢有什麼問題?
- 14. 這個SQL查詢有什麼問題?
- 15. 這個查詢有什麼問題?
- 16. 這個mysql查詢有什麼問題?
- 17. 這個CrossTab查詢有什麼問題?
- 18. 這個MySQL查詢有什麼問題?
- 19. 這個Lucene查詢有什麼問題?
- 20. 這個Access查詢有什麼問題
- 21. 這個mySQL查詢有什麼問題?
- 22. 這個查詢有什麼問題?
- 23. 這個RDF.rb查詢有什麼問題?
- 24. 這個MySQL查詢有什麼問題?
- 25. 這個LINQ查詢有什麼問題?
- 26. 這個查詢有什麼問題?
- 27. 這個Sparql查詢有什麼問題
- 28. 這個UPDATE查詢有什麼問題?
- 29. 這個TSQL查詢有什麼問題?
- 30. 這個mysql查詢有什麼問題?
不可以,因爲現在它期望OVER關鍵字。 – Xaisoft 2008-12-10 21:05:58