根据要转换为 Excel 文件的约束从不同目录中的表中选择过滤行

Selection of filtered rows from tables in different directories based on constraints to be converted into an Excel file

我想将 ctw.code1dl.name 字段的筛选行列表复制到 excel 文件,该文件主要基于 lower(subdir) 字段的相等性创建来自不同目录的两个表。我不确定 Inner JoinSelect 命令是否更适合这项任务。目前我正在尝试使用 Select,但 VFP 显示 Subdir is not unique and must be qualified 错误。

SELECT ctw.code1, dl.name FROM e:\ctwd ctw, d:\del dl where (ctw.lower(subdir) = dl.lower(subdir) AND (ctw.code1 >=30 OR ctw.code2 >= 30))

INNER JOIN 不是命令。这是 SELECT 命令的子句。看来您的问题是您过早地应用了功能。这个版本应该可以工作:

SELECT ctw.code1, dl.name 
FROM e:\ctwd ctw, d:\del dl 
WHERE lower(ctw.subdir) = lower(dl.subdir)
AND (ctw.code1 >=30 OR ctw.code2 >= 30)

也就是说,如果您使用的是 VFP 5 或更高版本,最好使用 INNER JOIN 来匹配来自不同表的记录,因为它可以让其他人更容易理解您的查询是如何工作的。该版本将如下所示:

SELECT ctw.code1, dl.name
FROM e:\ctwd ctw 
JOIN d:\del dl ON lower(ctw.subdir) = lower(dl.subdir)
WHERE (ctw.code1 >=30 OR ctw.code2 >= 30)

请注意,INNER 关键字是可选的;如果需要,可以在JOIN前面加上。