错误4506:各视图或函数中的列名必须唯一。多次指定了列名'oid'(属于视图或函数'MyView')。

学习study 2012-07-01 07:03:58

利用SQLServer2000企业管理器中的工具、向导,创建视图时,
自动生成代码:
USE [News]
GO
CREATE VIEW [NewsVIEW]
AS SELECT [dbo].[OneClass].[oid], [dbo].[OneClass].[OneClassName], [dbo].[TwoClass].[tid], [dbo].[TwoClass].[TwoClassName], [dbo].[TwoClass].[oid], [dbo].[MyTable].[mid], [dbo].[MyTable].[tid], [dbo].[MyTable].[myTitle]
FROM [dbo].[OneClass], [dbo].[TwoClass], [dbo].[MyTable]
where OneClass.oid=TwoClass.oid and TwoClass.tid=MyTable.tid
但是,当点击最后一步完成时,提示
错误4506:各视图或函数中的列名必须唯一。多次指定了列名'oid'(属于视图或函数'MyView')。

请问是什么问题?
请问在企业管理器向导中应该如何修改才能成功创建视图MyView?
如何直接写代码,应怎么写?
...全文
999 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
筱筱澄 2012-07-01
  • 打赏
  • 举报
回复
CREATE VIEW [NewsVIEW]
AS SELECT [dbo].[OneClass].[oid] as OneClassoid, [dbo].[OneClass].[OneClassName], [dbo].[TwoClass].[tid], [dbo].[TwoClass].[TwoClassName], [dbo].[TwoClass].[oid], [dbo].[MyTable].[mid], [dbo].[MyTable].[tid], [dbo].[MyTable].[myTitle]
FROM [dbo].[OneClass], [dbo].[TwoClass], [dbo].[MyTable]
where OneClass.oid=TwoClass.oid and TwoClass.tid=MyTable.tid


列中有两个oid 给其中一个指定一个别名就行了

CREATE VIEW [NewsVIEW]
AS SELECT [dbo].[OneClass].[oid], [dbo].[OneClass].[OneClassName], [dbo].[TwoClass].[tid], [dbo].[TwoClass].[TwoClassName], [dbo].[TwoClass].[oid], [dbo].[MyTable].[mid], [dbo].[MyTable].[tid], [dbo].[MyTable].[myTitle]
FROM [dbo].[OneClass], [dbo].[TwoClass], [dbo].[MyTable]
where OneClass.oid=TwoClass.oid and TwoClass.tid=MyTable.tid

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧