Как получить столбец из двух таблиц в выходном предложении
У меня две таблицы
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
Но ниже приведу только Col1, Col2 и Col3 таблицы A. Если я не ошибаюсь. Здесь я хочу 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
Могу ли я сделать это с помощью контрольной суммы?
1 ответ
Решение
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;