将SQL中的派生表插入到新创建的表

时间:2017-06-23 15:04:33

标签: sql sql-server-2008

我有两个表(Current和Prior)具有所有相同的列,并通过查询中的完全外连接进行组合。我还为每个相应的列都有一个派生列,用于比较Current和Prior相应字段的值,并说明它们是否匹配。这将创建一个派生表,其中包含所有Current和Prior字段以及派生的比较列。我需要在数据库中创建一个捕获该数据的实际表。我该怎么办?

1 个答案:

答案 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