• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

sqlserver 2000/2005 Ambiguous column error错误解决办法

mysql 搞代码 4年前 (2022-01-09) 34次浏览 已收录 0个评论

今天针对Sql server 2005的脚本在Sql server 2000上执行,发生了两个错误 Msg 209, Level 16, State 1, Procedure tbh_Forums_GetUnapprovedPosts, Line 13 Ambiguous column name ‘AddedDate’. Msg 209, Level 16, State 1, Procedure tbh_Forums_GetThread

今天针对Sql server 2005的脚本在Sql server 2000上执行,发生了两个错误
Msg 209, Level 16, State 1, Procedure tbh_Forums_GetUnapprovedPosts, Line 13
Ambiguous column name ‘AddedDate’.
Msg 209, Level 16, State 1, Procedure tbh_Forums_GetThreadByID, Line 13
Ambiguous column name ‘AddedDate’.

原来就是Forums表中和Post表中具有相同的列AddedDate,通过as 方式改写就可以解决了
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJ来&源gao@dai!ma.com搞$代^码%网ECT_ID(N'[dbo].[tbh_Forums_GetThreadByID]’) AND type in (N’P’, N’PC’))
BEGIN
EXEC dbo.sp_executesql @statement = N’CREATE PROCEDURE [dbo].[tbh_Forums_GetThreadByID]
(
@ThreadPostID int
)
AS
SET NOCOUNT ON

SELECT tbh_Posts.PostID, tbh_Posts.AddedDate as AddedDate, tbh_Posts.AddedBy, tbh_Posts.AddedByIP, tbh_Posts.ForumID, tbh_Posts.ParentPostID, tbh_Posts.Title, tbh_Posts.Body, tbh_Posts.Approved, tbh_Posts.Closed, tbh_Posts.ViewCount, tbh_Posts.ReplyCount, tbh_Posts.LastPostDate, tbh_Posts.LastPostBy,
tbh_Forums.Title AS ForumTitle
FROM tbh_Posts INNER JOIN
tbh_Forums ON tbh_Posts.ForumID = tbh_Forums.ForumID
WHERE PostID = @ThreadPostID OR ParentPostID = @ThreadPostID
ORDER BY AddedDate ASC’
END
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbh_Forums_GetUnapprovedPosts]’) AND type in (N’P’, N’PC’))
BEGIN
EXEC dbo.sp_executesql @statement = N’CREATE PROCEDURE [dbo].[tbh_Forums_GetUnapprovedPosts]
AS
SET NOCOUNT ON

SELECT tbh_Posts.PostID, tbh_Posts.AddedDate as AddedDate, tbh_Posts.AddedBy, tbh_Posts.AddedByIP, tbh_Posts.ForumID, tbh_Posts.ParentPostID, tbh_Posts.Title, tbh_Posts.Approved, tbh_Posts.Closed, tbh_Posts.ViewCount, tbh_Posts.ReplyCount, tbh_Posts.LastPostDate, tbh_Posts.LastPostBy,
tbh_Forums.Title AS ForumTitle, CASE
WHEN ParentPostID = 0 THEN 1
ELSE 0
END AS IsThreadPost
FROM tbh_Posts INNER JOIN
tbh_Forums ON tbh_Posts.ForumID = tbh_Forums.ForumID
WHERE Approved = 0
ORDER BY IsThreadPost DESC, AddedDate ASC’
END
GO

虽然这样解决了问题,这不应该是问题的真正原因,各位同学谁知道这个问题的真正原因?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:sqlserver 2000/2005 Ambiguous column error错误解决办法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址