Sql server 在使用偏移量和先提取时定义不明确的列
上面的代码返回一个错误 但是,当我首先删除最后一行偏移量fetch时,它工作得很好Sql server 在使用偏移量和先提取时定义不明确的列,sql-server,inner-join,offset,Sql Server,Inner Join,Offset,上面的代码返回一个错误 但是,当我首先删除最后一行偏移量fetch时,它工作得很好 有人能帮忙查询吗?必须使用OFFSET和FETCH子句才能使用ORDER BY 因此,请使用: 要解决此问题,请尝试为相似的列指定不同的别名,例如: SELECT qplt.description, qplab.status_code, qplab.start_date, qplc.start_date, qplc.end_date FROM price_lists_dur qplab,
有人能帮忙查询吗?必须使用OFFSET和FETCH子句才能使用ORDER BY 因此,请使用:
要解决此问题,请尝试为相似的列指定不同的别名,例如:
SELECT
qplt.description,
qplab.status_code,
qplab.start_date,
qplc.start_date,
qplc.end_date
FROM price_lists_dur qplab,
PRICE_LISTS_Tbl qplt,
PRICE_LIST_CHARGES qplc
WHERE qplt.price_list_id=qplab.price_list_id
AND qplt.price_list_id =qplc.price_list_id
ORDER BY qplab.status_code --(or the column you want)
OFFSET 10 ROWS FETCH FIRST 40 ROWS ONLY
请发布您收到的错误。@RichBenner这是完全有效的t-sql。您没有ORDER BY,因此不明确。此外,您应该开始使用ANSI-92样式的联接,它们已经存在25年多了。-在ANSI-92 SQL标准中(超过25年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,因此不鼓励使用正确的JOIN
。它已经存在20多年了。
SELECT
qplt.description,
qplab.status_code,
qplab.start_date,
qplc.start_date,
qplc.end_date
FROM price_lists_dur qplab,
PRICE_LISTS_Tbl qplt,
PRICE_LIST_CHARGES qplc
WHERE qplt.price_list_id=qplab.price_list_id
AND qplt.price_list_id =qplc.price_list_id
ORDER BY qplab.status_code --(or the column you want)
OFFSET 10 ROWS FETCH FIRST 40 ROWS ONLY
SELECT
qplt.description,
qplab.status_code,
qplab.start_date,
qplc.start_date as qplc_start_date, --notice the alias
qplc.end_date
FROM
price_lists_dur qplab,
PRICE_LISTS_Tbl qplt,
PRICE_LIST_CHARGES qplc
WHERE
qplt.price_list_id = qplab.price_list_id
AND qplt.price_list_id = qplc.price_list_id
OFFSET 10 ROWS FETCH FIRST 40 ROWS ONLY