当前位置: 首页 > 面试题库 >

Access中的多个LEFT JOIN

商华藏
2023-03-14
问题内容

我有以下查询,该查询适用于MySQL:

DELETE `test1`, `test2`, `test3`, `test4` FROM
`test1` LEFT JOIN `test2` ON test2.qid = test1.id
LEFT JOIN test3 ON test3.tid = test2.id
LEFT JOIN test4.qid = test1.id
WHERE test1.id = {0}

但是它不适用于MS Access。我尝试在周围添加括号LEFT JOIN,但是它在FROM子句中给了我语法错误。因此,该查询应如何显示才能在MS
Access中工作?


问题答案:

访问权限删除要求加星号(*): DELETE * FROM ...

此外,必须使用括号将联接嵌套:

DELETE test1.*, test2.*, test3.*, test4.*
FROM
    (
      (
        test1 
        LEFT JOIN test2 ON test1.qid = test2.id
      )
      LEFT JOIN test3 ON test2.tid = test3.id
    )
    LEFT JOIN test4 ON test1.qid = test4.id
WHERE test1.id = {0}

这特定于Access(Jet)SQL。



 类似资料:
  • 问题内容: 我试图在node.js中允许CORS,但是问题是我无法设置为if 。 另外规范说我不能为数组或逗号分隔值,建议的方法是做类似于此Access-Control-Allow-Origin多源域的操作?但是我似乎无法在node.js中这样做 这里的问题是它会被数组中的最后一个值覆盖,因此标头将设置为 来自客户端浏览器的错误: XMLHttpRequest无法加载http://mydomain

  • 问题内容: 我正在尝试创建简单的需求管理数据库。基本上我有2张桌子,如下所示: 具有2列的Contract_requirements: SW_requirements 我想编写查询来接收这样的表: 表“合同要求”和“软件要求”通过“ RootReq”列关联 香港专业教育学院试图实现艾伦·布朗的代码 http://allenbrowne.com/func- concat.html#Top 这是我的查

  • 问题内容: 我在Access中创建了一个查找表,以提供列的可能值。现在,我需要使用转换列之前的数据来更新此列。我无法弄清楚将运行的SQL查询。我不断收到错误消息“ UPDATE或DELETE查询不能包含多值字段。” 我的研究表明,我只需要设置列的值,但这总是更新0条记录: 我知道如果更改它以更新文本列,此查询将起作用,因此仅此列绝对是一个问题。 问题答案: 如果要将值添加到多值字段,请使用追加查询

  • 在本章中,让我们了解和学习多对多的关系。要表示多对多关系,必须创建第三个表(通常称为联接表),将多对多关系分解为两个一对多关系。 为此,我们还需要添加一个联接表。 下面先添加一个表。表的定义如下所示 - 现在创建一个多对多的关系。假设有多个作者在多个项目上工作,反之亦然。 如您所知,我们在中有一个字段,所以为它创建了一个表。但现在不再需要这个字段了。 选择字段,然后按下删除 按钮,将看到以下消息。

  • 问题内容: 我在MS Access的VBA中执行了多个SQL存储过程(例如UPDATE,SELECT INTO语句): CurrentDb.Execute“ qry1” CurrentDb.Execute“ qry2” 我希望这样做: 如果qry2失败,它将撤消qry1。 qry1和qry2是同时执行的(因为我有许多存储过程是在链中执行的),因此该过程运行得更快。 如何才能做到这一点? 问题答案:

  • 问题内容: 我有一个表“ People”,主键为“ PersonID”,字段为“ Supervisor”。“ Supervisor”字段包含用于创建自我联接的“ PersonID”的外键。 我想创建一个sql查询,以返回所有以“ Me”(登录到数据库的PersonID)作为管理员的人,以及该列表上有人标记为管理员的任何人。本质上,我想在命令链中列出提供的PersonID下面的任何人。 问题答案: