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



我想将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 前面。

最新更新