我在ADS中有一个可能包含重复记录的大型DBF表。重复记录由field2,field3,field5,field4,field8和field7与另一条记录匹配的任何记录标识。我需要识别重复记录并删除它们。为了实现这一点,我试图写一组记录到第二个表。即使重复记录由六个字段标识,我需要将整个记录(30个字段)写入第二个表格。我曾尝试以下代码:从Advantage数据库服务器10.1删除重复的行表
insert into table2 select * from table1 where (
field2, field3, field5, field4, field8, field7
) in (
select field2, field3, field5, field4, field8, field7
from table1 where field3 not like '%FOO%' and field3 not like '%BOO%'
group by field2, field3, field5, field4, field8, field7 having count(*) > 1
)
ADS错误消息:ERROR IN SCRIPT:poQuery:错误7200:AQE错误:状态= 42000; NativeError = 2115; [iAnywhere解决方案] [Advantage SQL Engine]找不到预期的词法元素:)解析SELECT语句中的WHERE子句时出现问题。
任何和所有的帮助表示赞赏。
哇。这甚至与任何方言中的正确SQL语法都差不多。 :-)你可以发布一些示例数据(根据你需要实际匹配的列)?另外,在尝试INSERT之前,只要能够选择行即可。当你得到这个工作时,*然后*弄清楚如何将它们插入到另一个表中。 –