我有2张桌子。
tableOne
包含Id, SN, SyN, SSN, APU
列以下是3个示例行:
Id SN SyN SSN APU
----------------------------
'1' 'a' 'a' 'a' 'a'
'2' 'b' 'b' 'b' 'b'
'3' 'c' 'c' 'c' 'c'
tableTwo
包含Id, Uri, MAM
列示例数据:
Id Uri MAM
--------------------
'4' 'aa' 'aa'
'5' 'bb' 'bb'
我正在尝试创建一个视图,将Id列用于一列并拥有如下视图:
标题:
Id | SN | SyN | SSN | APU | Uri | MAM
--------------------------------------------
1 | a | a | a | a | null | null
2 | b | b | b | b | null | null
3 | c | c | c | c | null | null
4 | null | null | null | null | aa | aa
5 | null | null | null | null | bb | bb
以下是我所拥有的:
SELECT *
FROM CIR.BusinessApplication AS BA
FULL OUTER JOIN CIR.NetworkAddressableDevice AS NAD
ON BA.Id = NAD.Id
如果代码运行,它基本上将两个表并排放置。我也试过"创建视图CIR_REPORT AS"而代码和我收到了一些错误。
答案 0 :(得分:1)
您将无法使用SELECT *
创建视图,因为这两个表都有一个名为ID
的字段,您可以将COALESCE()
用于ID
字段两者都不总是填充,然后只列出其他字段:
SELECT COALESCE(BA.ID,NAD.ID) AS ID
,SN ,SyN ,SSN ,APU ,Uri ,MAM
FROM CIR.BusinessApplication AS BA
FULL OUTER JOIN CIR.NetworkAddressableDevice AS NAD
ON BA.Id = NAD.Id
这是跳出的唯一错误,如果还有其他错误请将它们添加到您的问题中。
答案 1 :(得分:0)
您只需要更好地定义select
。
SELECT ISNULL(BA.Id, NAD.Id) as ID, SN, SyN, SSN, APU, Uri, MAM