我有两个表(Current和Prior)具有所有相同的列,并通过查询中的完全外连接进行组合。我还为每个相应的列都有一个派生列,用于比较Current和Prior相应字段的值,并说明它们是否匹配。这将创建一个派生表,其中包含所有Current和Prior字段以及派生的比较列。我需要在数据库中创建一个捕获该数据的实际表。我该怎么办?
答案 0 :(得分:0)
这应该创建一个供您使用的视图,以防表格不是很大。
CREATE VIEW [dbo].[vw_Compare]
AS
SELECT /* Column list*/
IIF(A.Col1 IS NULL, 1, 0) AS [CompareCol1],
IIF(A.Col2 IS NULL, 1, 0) AS [CompareCol2]
FROM A
FULL OUTER JOIN C
ON A.Col1 = C.Col1
如果您想创建一个表格:
CREATE TABLE [dbo].[Compare]
(
[CompareCol1] BIT,
[CompareCol2] BIT,
/* Insert Column 1 to N here */
)
INSERT INTO [dbo].[Compare]
(
[CompareCol1],
[CompareCol2],
/* Column list*/
)
SELECT IIF(A.Col1 IS NULL, 1, 0) AS [CompareCol1],
IIF(A.Col2 IS NULL, 1, 0) AS [CompareCol2],
/* Column list*/
FROM A
FULL OUTER JOIN C
ON A.Col1 = C.Col1