【问题标题】:Query format issue in MS AccessMS Access 中的查询格式问题
【发布时间】:2013-02-01 01:09:18
【问题描述】:

我需要在访问数据库中运行以下查询。需要做什么改变。 因为它给出了一个语法错误

SELECT t1.col11,  t3.col32,  t2.col22,  t2.col23
FROM t1,  t2,  t3
WHERE t1.col11 = t3.col31
AND t3.col32 = t2.col21 (+)

我在下面尝试过,但仍然出现语法错误

SELECT t1.col11,  t3.col32,  t2.col22,  t2.col23
FROM t1, t3 left outer join t2 ON t1.col11 = t3.col31
WHERE t1.col11 = t3.col31

感谢您的帮助

干杯

沙巴

【问题讨论】:

  • 你正在加入 t3 和 t2,但是加入条件是 t1,t3?
  • 如果您在 VBA 中运行它,请包含代码。否则你可能得不到有用的回应。 (当你在它的时候,恢复我删除的 VBA 标签,认为它不适用。)
  • 基本故障排除:尝试查询的简化版本,直到找到可以运行的查询。然后工作到最终版本。

标签: sql ms-access


【解决方案1】:

通过将原始 SQL 粘贴到 Access 查询窗口中,它返回以下内容:

SELECT   t1.col11, t3.col32, t2.col22, t2.col23
FROM     (t1 INNER JOIN
         t3 ON t1.col11 = t3.col31) INNER JOIN
         t2 ON t3.col32 = t2.col21

Access 非常擅长翻译这样的基本 SQL - 您只需要注意它不理解的命令

【讨论】:

  • @HansUp,是的 - I 绝对应该知道这一点。固定
  • 如何通过复制粘贴直接翻译sql脚本。它对我不起作用
  • t2.col21 之后的 (+) 符号似乎是旧的 Oracle pre-ansi 外连接语法,其中 (+) 位于连接的不足侧,因此您从 t3 连接到t2 应该是“左连接”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多