我试图从Wonderware史学家那里获得价值,以便在Report中阅读。我通过历史学家客户端查询获得了下面的SQL代码,但是这段代码直接从SQL视图中进行选择。
SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = DateAdd(mi,-5,GetDate())
SET @EndDate = GetDate()
SET NOCOUNT OFF
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')
AND wwVersion = 'Latest'
AND wwRetrievalMode = 'Cyclic'
AND wwCycleCount = 1
AND StartDateTime >= @StartDate
AND EndDateTime <= @EndDate我需要在已经创建的表中插入数据,以便为报表生成器执行选择,下面是我试图在表中插入的代码:
INSERT INTO x_TagsDescr
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')返回以下错误:
列名或提供的值数与表定义不匹配。
x_TagsDescr是我要插入的表。
有人能帮我吗?
发布于 2021-05-14 19:27:29
在插入以避免此错误时提及列名是一种良好的做法:
INSERT INTO x_TagsDescr (<list of column names that match columns in your select>)
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')https://stackoverflow.com/questions/67539856
复制相似问题