sql-server - 每个 View 或函数中的列名必须是唯一的

标签 sql-server sql-server-2012 view

创建 View 时出现错误 每个 View 或函数中的列名必须是唯一的但是在构建选择查询时我只得到一个记录。我必须对两个表使用 col1 和 col2..如果数据不存在它将从 B 表中取出一张表。我该怎么做。提前致谢..

Create View ViewName AS
select 
A.col1 as col1,
A.col2  as col2,
null as col1,
B.col2 as col2
from table A,table B where A.col3=B.col3

最佳答案

从您的评论看来,您正在寻找这个:

Create View ViewName AS
select 
   A.col1,
   COALESCE(A.col2, B.col2) AS col2
from table A
  left join table B 
  on  A.col3=B.col3;

使用 LEFT OUTER JOIN 来处理连接失败的情况。

实际错误的解释:

错误说明了一切 - 您的 View 有两列名为 col1 和两列 col2。更改其中一组的列名。与 View 不同,即席选择查询不需要唯一名称(或任何列名,就此而言)。

关于sql-server - 每个 View 或函数中的列名必须是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29507402/

相关文章:

iOS:关于 GLKMatrix4MakeLookAt 结果中的相机信息的问题

ios - Swift - 如何从一个 View Controller 转移到另一个?

sql-server - 使用 TRUNCATE_ONLY 备份日志的替代方案

sql-server - 如何将数据库架构从 dbo 更改为另一个架构?

SQL OLEDB 提供程序 : connection string to Failover partner

sql - SQL Server 2012 中的编号岛

sql - 在 DATEADD 间隔中使用 case 表达式

sql - 是否可以在 Select 语句中使用聚合函数而不使用 Group By 子句?

sql-server - SQL Server - 获取所有数据库和文件

c# - 如何在 View 布局中处理授权