sql-server - 内联函数,每个视图或函数中的列名必须是唯一的
问题描述
我已经加入了这两个表,现在我想将该语句保存在函数中,以便我可以一次又一次地使用它。我尝试按如下方式创建函数:-
create function fn_electricalsem1and2()
returns table
as
return (
Select *
from [Electrical Semester 1 Regular] as T1
inner join[Electrical Semester 2 Regular] As T2 On T1.department_id= T2.department_id
)
现在我收到错误
每个视图或函数中的列名必须是唯一的。视图或函数“fn_electricalsem1and2”中的列名称“名称”被指定了多次。
到目前为止我还没有制作任何功能,但为什么我得到错误功能必须是唯一的?
解决方案
它给出了错误,因为您的函数正在返回一个表,并且在一个表中,所有列名都应该是唯一的。
要解决您需要更换的问题
Select *
至
Select t1.column1 as Col1, t1.column2, t2.column1 as Col2, ...and so on
在您的情况下department_id
,这两个表格都可用。此外,这两个表都包含一列名称:name
。