0

私は2つのテーブルを持っています

TableA (Col1 Pk identity, Col2, Col3)
TableB (Col2,Col3, Col4)

次に、 Col1 と Col4 の組み合わせを取得したいと思います。

私はこれを使用しています

INSERT INTO TableA (Col2, Col3)
OUTPUT inserted.*
SELECT DISTINCT Col2,Col3
FROM TableB

しかし、以下では、tableA の Col1、Col2、および Col3 のみが表示されます。ここで、Col1 (TableA) と Col4 (TableB) が必要です。Col4 と、TableA で尊重されているインデント行を取得するにはどうすればよいですか。

編集

以下は、あなたを助けるかもしれないサンプルシナリオです

    CREATE TABLE [dbo].[A](
    [Col1] [int] IDENTITY(1,1) NOT NULL,
    [Col2] [varchar](50) NULL,
    [Col3] [varchar](50) NULL,
 CONSTRAINT [PK_A] PRIMARY KEY CLUSTERED 
(
    [Col1] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

CREATE TABLE [dbo].[B](
    [Col2] [varchar](50) NULL,
    [Col3] [varchar](50) NULL,
    [Col4] [varchar](50) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO



INSERT INTO A (Col2,Col3)
OUTPUT INSERTED.*
SELECT COL2, Col3, Col4 
FROM B

チェックサムでそれを行うことはできますか?

4

1 に答える 1

0
merge A as T 
using B as S 
on 0=1 
when not matched then 
insert (Col2, Col3) values (S.Col2,S.Col3) 
output inserted.Col1, S.Col4;
于 2012-09-26T21:07:09.867 に答える