我创建了两个临时表,现在我必须将两个表中的数据插入到第三个临时表中,稍后我将在我的过程中使用它。
前两个临时值用常规表中的数据填充,这很好。 但是当我尝试将这两个临时数据中的数据插入我的最终临时表(#3)时,我收到了这个:
INSERT语句的选择列表包含的项目数少于 插入列表。 SELECT值的数量必须与数量匹配 INSERT列。
即使我有相同数量的项目,我也会收到此消息。
CREATE TABLE #3
(
Vrsta_Reprograma int,
Datum_Kreiranja smalldatetime NOT NULL,
Verzija smallint NULL,
Zakljucano smallint NULL,
HostName nvarchar(128) NULL,
Datum_Izvjestaja varchar(10) NULL,
Aplikacija varchar(10) NULL,
OJK varchar(12) NULL,
PartnerID int NULL
)
INSERT INTO #3
(
Vrsta_Reprograma,
Datum_Kreiranja,
Verzija,
Zakljucano,
HostName,
Datum_Izvjestaja,
Aplikacija,
OJK,
PartnerID
)
SELECT Vrsta_Reprograma
FROM #1
SELECT (
Datum_Kreiranja,
Verzija,
Zakljucano,
HostName,
Datum_Izvjestaja,
Aplikacija,
OJK,
PartnerID,
)
FROM #2
这是正确的方法吗?
答案 0 :(得分:1)
即使我有相同数量的物品
不,你不要:
插入#3 ( Vrsta_Reprograma, Datum_Kreiranja, Verzija, Zakljucano, 主机名, Datum_Izvjestaja, Aplikacija, OJK, PARTNERID,
= 9列(Vista_Reprograma
,...,PartnerID
)。
) 选择Vrsta_Reprograma 来自#1
= 1列(Vrsta_Reprograma
)。
确保您的SELECT子句与INSERT INTO子句的列数相同。您可能想写的是:
INSERT INTO #3
(
Vrsta_Reprograma,
Datum_Kreiranja,
Verzija,
Zakljucano,
HostName,
Datum_Izvjestaja,
Aplikacija,
OJK,
PartnerID
)
SELECT #1.Vrsta_Reprograma,
#2.Datum_Kreiranja,
...
#2.PartnerID,
)
FROM #1 INNER JOIN #2 ON ...join conditions which matches rows from #1 to those from #2...