【发布时间】:2013-03-05 22:28:20
【问题描述】:
我正在尝试在 C# 中创建一个涉及两个单独表的视图,其中一个字段在两个表中具有相同的名称。无法更改列名,也不能仅为视图创建新的列名。这是因为不能以任何方式修改数据。我收到以下错误:
每个视图或函数中的列名必须是唯一的。
视图或函数“Testing”中的列名“Child_ID”被指定了多次。
在线搜索显示这是因为所有列都必须是唯一的。但是,当我尝试在每个违规列之前添加相应的表名时,仍然返回错误。有没有办法解决这个问题?我根本无法更改列名。
【问题讨论】:
-
c# 中的“视图”非常模糊。请显示一些代码。
-
即使您可以在一个视图中有两个名为
Child_ID的列 - 而您已经知道不能 - 您认为查询SELECT Child_ID FROM dbo.MyView应该返回什么?一列(哪一列?),两列(按什么顺序?)还是别的?即使在非常抽象的层面上,也很难看出这是如何工作的。 -
@Pondlife - 通常在字段之前在方括号中指定相应的表名,然后在正常的选择语句中工作。我希望这里也是如此
-
@DotNET 不,这是不可能的。查询不需要存储元数据,但视图需要。视图存储元数据时,需要定义unique列名。
-
感谢@AaronBertrand。解决时间到了。
标签: c# .net sql sql-server database