我正在尝试运行下面显示的查询,以便将所有数据从RemoteServer复制到LocalServer,该数据介于最新带有时间戳记录的日期和执行查询的确切时间之间。
INSERT INTO [LocalServer].[database1].[dbo].[Table1]
SELECT * FROM [RemoteServer].[database1].[dbo].[Table1]
WHERE TimeCol BETWEEN MAX(TimeCol) and CURRENT_TIMESTAMP
但是,运行此查询会导致以下错误:
Msg 147,Level 15,State 1,Line 3 聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且要聚合的列是外部引用。
这个错误消息在谈论什么?我想要完成我想要的查询是什么?
答案 0 :(得分:1)
你不能在WHERE中使用MAX(),因为它是一个聚合函数。请改用HAVING()。这是你想要的吗?
onclick
根据Martin Smith的评论编辑