gpt4 book ai didi

sql - 如何一次加载特定行 100

转载 作者:行者123 更新时间:2023-12-01 11:38:59 26 4
gpt4 key购买 nike

我正在尝试每 100 条记录搜索一次,因此第一个批量将是 1 到 100,第二个将是 101 到 200 等。
我也在使用连接来合并两个表。
当我执行查询时,我收到错误消息:The column 'ID' was specified multiple times for 'cte'.

这是我的查询:

WITH cte AS (
SELECT
ROW_NUMBER() OVER (
ORDER BY TableOne.Name
) AS ROW
, *
FROM
DatabaseNameOne
FULL JOIN DatabaseNameOne
ON DatabaseNameTwo.ID= DatabaseNameOne.ID
WHERE CONVERT(DATE,DatabaseNameOne.dateone) BETWEEN '2013-12-01' AND '2014-05-20'
)

SELECT
*
FROM
cte
WHERE
ROW BETWEEN '1' AND '100'

有人能告诉我我做错了什么吗?

我正在使用服务器 2008。我可以选择 1 到 100 条记录而不加入,但是当我加入一个表时,我得到这个错误

最佳答案

这是你的cte:

WITH cte AS (
SELECT ROW_NUMBER() OVER(ORDER BY TableOne.Name) AS ROW,
*
FROM DatabaseNameOne FULL JOIN
DatabaseNameOne
ON DatabaseNameTwo.ID = DatabaseNameOne .ID
WHERE convert(date, DatabaseNameOne.dateone) between '2013-12-01' and '2014-05-20'
)

您正在将一个表与其自身连接并使用 * -- 所有列都是重复的。即使表不同,join 也是在 ID 字段上,因此该列将被复制。 CTE/子查询/表不能有重名? SQL Server 如何知道您在引用中指的是哪一列?

相反,您需要从join 中列出您想要的特定列。

关于sql - 如何一次加载特定行 100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23759839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com