Click here to Skip to main content
15,920,217 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
SQL
SELECT dbo.fn_parsehtml(MCS_CASE_SUMMARY)
	,ROW_NUMBER() OVER (
		ORDER BY RRH_MR_NUM
		) AS RowNum
	,RRH_LOCATION_CD
	,RRH_MR_NUM
	,RRH_FIRST_NAME
	,RRH_PAT_SEX
	,RRH_REGN_DT
	,RRH_PAT_DOB
	,MCS_CRT_DTE
FROM MR_CASE_SUMMARY_HISTORY_2015
LEFT OUTER JOIN RE_REGISTRATION_HEADER ON MCS_MRD_NUMBER = rrh_mr_num
LEFT OUTER JOIN CO_PATIENT_ADDRESS_DETAIL ON RRH_COMM_ID = CPA_COMM_ID
	AND CPA_MAILING_ADDR = '1'
WHERE RowNum BETWEEN 1 AND 10



when I execute the above query in SQL server

shows error as follows

Invalid column name 'RowNum'

What I have tried:

execute the above query in SQL server
Posted
Updated 12-Dec-17 18:52pm
v4

1 solution

You might need to use subquery or CTE because the ROW_NUMBER() is being calculated/applied to each row during execution. Example CTE (Common Table Expression)

SQL
WITH temp as (
	SELECT dbo.fn_parsehtml(MCS_CASE_SUMMARY)
		,ROW_NUMBER() OVER (
			ORDER BY RRH_MR_NUM
			) AS RowNum
		,RRH_LOCATION_CD
		,RRH_MR_NUM
		,RRH_FIRST_NAME
		,RRH_PAT_SEX
		,RRH_REGN_DT
		,RRH_PAT_DOB
		,MCS_CRT_DTE
	FROM MR_CASE_SUMMARY_HISTORY_2015
	LEFT OUTER JOIN RE_REGISTRATION_HEADER ON MCS_MRD_NUMBER = rrh_mr_num
	LEFT OUTER JOIN CO_PATIENT_ADDRESS_DETAIL ON RRH_COMM_ID = CPA_COMM_ID
		AND CPA_MAILING_ADDR = '1'
) SELECT * FROM temp
	WHERE RowNum BETWEEN 1 AND 10


or subquery
SQL
SELECT * FROM
(
	SELECT dbo.fn_parsehtml(MCS_CASE_SUMMARY)
		,ROW_NUMBER() OVER (
			ORDER BY RRH_MR_NUM
			) AS RowNum
		,RRH_LOCATION_CD
		,RRH_MR_NUM
		,RRH_FIRST_NAME
		,RRH_PAT_SEX
		,RRH_REGN_DT
		,RRH_PAT_DOB
		,MCS_CRT_DTE
	FROM MR_CASE_SUMMARY_HISTORY_2015
	LEFT OUTER JOIN RE_REGISTRATION_HEADER ON MCS_MRD_NUMBER = rrh_mr_num
	LEFT OUTER JOIN CO_PATIENT_ADDRESS_DETAIL ON RRH_COMM_ID = CPA_COMM_ID
		AND CPA_MAILING_ADDR = '1'
) r
	WHERE r.RowNum BETWEEN 1 AND 10


reference: Why You Can't Use ROW_NUMBER() In Your WHERE Clause - SQL Theater[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900