首页 > 解决方案 > 内联函数,每个视图或函数中的列名必须是唯一的

问题描述

我已经加入了这两个表,现在我想将该语句保存在函数中,以便我可以一次又一次地使用它。我尝试按如下方式创建函数:-

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”中的列名称“名称”被指定了多次。

到目前为止我还没有制作任何功能,但为什么我得到错误功能必须是唯一的?

标签: sql-serverinline-table-function

解决方案


它给出了错误,因为您的函数正在返回一个表,并且在一个表中,所有列名都应该是唯一的。

要解决您需要更换的问题

Select *

Select t1.column1 as Col1, t1.column2, t2.column1 as Col2, ...and so on

在您的情况下department_id,这两个表格都可用。此外,这两个表都包含一列名称:name


推荐阅读