【发布时间】:2018-11-01 18:26:07
【问题描述】:
我有一个临时表,我正试图从 select 语句中填充。
但是我收到了这个错误:
列名或提供的值的数量与表定义不匹配
我已将其追踪到使用LEAD 的列endtime;如果我删除了这个LEAD 列,它会起作用吗?
不知道我错过了什么
谢谢迈克
IF OBJECT_ID('tempdb.dbo.#flextx', 'U') IS NOT NULL
DROP TABLE #flextx;
CREATE TABLE dbo.#flextx
(
OmanId VARCHAR(255),
MRDF VARCHAR(255),
status VARCHAR(255),
statusid BIGINT,
EVENT_ACTION BIGINT,
starttime DATETIME,
endtime DATETIME
)
INSERT INTO dbo.#flextx
SELECT
f.OmanId,
f.MRDF,
s.status,
s.statusid,
f.EVENT_ACTION,
(f.TIMESTAMP) AS starttime,
(LEAD(f.TIMESTAMP, 1, GETDATE()) OVER (ORDER BY f.TIMESTAMP)) AS endtime
FROM
dbo.#flext f
LEFT JOIN
dbo.statues AS s ON s.flexstatus = f.JOB_STATUS_TEXT
WHERE
EVENT_ACTION IN (225, 226)
AND s.statusid = 23
ORDER BY
MRDF, EVENT_ACTION
【问题讨论】:
标签: sql-server tsql temp-tables insert-into