我想根据相等约束-1\f25 lower(rdl.subdir) = lower(tr.n1) -1\f6向-1\f25 table-1 \f25 d:\dl -1\f6追加新行,其中rdl和tr分别是f:\rdl和f:\tr表的预期别名。在VFP9中运行以下命令时,收到function name is missing ).消息:
INSERT INTO d:\dl SELECT * FROM f:\rdl WHERE (select LOWER(subdir)FROM f:\rdl in (select LOWER(n1) FROM f:\tr))我使用的是in语法,而不是基于别名的相等语句lower(rdl.subdir) = lower(tr.n1),因为我不知道在此命令中在何处定义别名。
发布于 2016-03-17 05:09:25
一般来说,让这样的东西工作的最好方法是首先使查询工作并给出您想要的结果,然后在INSERT中使用它。
通常,在SQL命令中,您可以通过将别名放在表名后面来指定别名,无论是否使用关键字AS。在这种情况下,您不需要别名,因为您需要的别名与表名相同,这是默认设置。
如果您显示的是确切的代码,并且您正在VFP中运行它,那么第一个问题是您缺少行之间的连续字符。
你肯定也做了太多的工作。试试这个:
INSERT INTO d:\dl ;
SELECT * ;
FROM f:\rdl ;
JOIN f:\tr ;
ON LOWER(rdl.subdir) = LOWER(tr.n1) https://stackoverflow.com/questions/36044871
复制相似问题