嗨,我正在尝试解决创建视图时出现的错误。我的看法如下:
CREATE VIEW [dbo].[vw_Employee_Data] AS
SELECT *
FROM [dbo].[Employee] as emp
inner join [dbo].[Managar] as mgr on emp.NewEmp=mgr.EmpID
GO
创建此视图时,出现以下错误:
每个视图或函数中的列名必须唯一。列名
视图或函数“vw_employee_data”中的“empid”是
多次指定。
所以我读了
here
关于指定要选择的所有列名的简单解决方案。我查过了
this
stackoverflow问题有点类似。
如果我在“select”中指定每一列,它可以正常工作,但问题是我的表employee表有超过25列,manager表有大约10列,这将使我的查询非常长,并且不确定是否会有任何性能问题。
但是,当我尝试按如下方式缩短查询时,会出现相同的重复列错误:
CREATE VIEW [dbo].[vw_Employee_Data] AS
SELECT emp.*, [mgr].[EmpID] AS [MGREmpID], [mgr].[BaseLID] AS [MGRBaseLID], mgr.*
FROM [dbo].[Employee] as emp
inner join [dbo].[Managar] as mgr on emp.NewEmp=mgr.EmpID
所以我想知道是否有其他方法可以解决这个问题。我是SQL新手,所以不确定是否使用
待定。*
格式是否正确。
有什么意见吗?