SQLSERVER 两表关联查询分页显示 SQL语句

$sql = "select top ".$page_size." h.[医院名称],k.[科室名称],k.[科室编号],k.id,k.kid from [医院表] as h right join [科室表] as k on k.hid = h.hid WHERE k.id not in(SELECT TOP ".$page_size*($page_num-1)." k.id FROM [科室表])";
$page_size:页大小
$page_num:当前页

麻烦帮我看看 SQL语句有什么问题 现在无法翻页,一翻页整个表格都没了,最好能写个正确的给我

如果你用的是SQL2008以后的数据库版本,可以这样
SELECT ROW_NUMBER() OVER (ORDER BY B.HID DESC) BH, B.*
FROM
(SELECT h.[医院名称],k.[科室名称],k.[科室编号],k.id,k.kid
from [医院表] as h right join [科室表] as k on k.hid = h.hid

) B
WHERE BH BETWEEN ($page_size * $page_num) AND ($page_size * $page_num +$page_size)追问

我的是2005的

追答

2005好像已经有这个函数了,你可以试下,我没实际数据,你自己测试下吧

追问

你有QQ吗 能告诉我下吗 不好意思 刚那个SQL语句不成功哦

温馨提示:答案为网友推荐,仅供参考
相似回答