创建 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/