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

使用MySQL LEFT JOIN删除行

樊运乾
2023-03-14
问题内容

我有两个表,一个用于工作截止日期,一个用于描述工作。每个作业可以具有一个状态,某些状态表示必须从另一个表中删除作业的截止日期。

我可以轻松地SELECT通过以下方式满足我的标准的工作/最后期限LEFT JOIN

SELECT * FROM `deadline`
LEFT JOIN `job` ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

(不status属于jobdeadline

但是,当我想从中删除这些行时deadline,MySQL会引发错误。我的查询是:

DELETE FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

MySQL错误什么也没说:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’LEFT JOIN jobON最后期限附近使用。job_id=
job.job_id WHERE status=’szaml’在第1行

如何将我SELECTDELETE查询变成有效的查询?


问题答案:

您只需要指定要在哪些表上应用DELETE

仅删除deadline行:

DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....

删除deadlinejob行:

DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....

仅删除job行:

DELETE `job` FROM `deadline` LEFT JOIN `job` ....


 类似资料:
  • 问题内容: 我正在尝试使用sed删除空行: 但我没有运气。 例如,我有以下几行: 我希望它像: 这应该是什么代码? 问题答案: 您的“空”行中可能有空格或制表符。使用POSIX类与去除只含有空格的所有行: 使用ERE的较短版本,例如gnu sed: (请注意,sed的确实 不 支持PCRE)。

  • 这个的代码应该是什么?

  • -我发现shiftRows函数存在一个导致excel中断的错误。https://bz.apache.org/bugzilla/show_bug.cgi?id=57423我不确定这是否已经修复。我已经在bugzilla上添加了一个评论来进一步了解这一点。 如果满足特定的单元格值条件,我正尝试从excel文件中删除行(而不是删除的内容)。 我成功地实现了这一点,但问题是它破坏了我的excel并且当我重

  • 我有一个spring 4应用程序,我试图删除一个实体的实例,从我的数据库。我有以下实体: 我定义了一个JPararePository接口: 我有一个与内存数据库(H2)一起工作的单元测试设置,我正在用两个令牌预先填充数据库: 第一个断言通过,第二个失败。我尝试了另一个测试,它更改了令牌值并将其保存到数据库中,它确实起作用了,所以我不确定为什么delete不起作用。它也不抛出任何异常,只是不将其持久

  • 问题内容: 我想根据引用了第一个表的另一个表上存在的数据从表中删除,但是,当我将其作为SELECT语句运行时,我具有可以正常工作并显示要删除的值的代码,但是当我将其更改为删除它给了我错误,我不明白为什么它们在那里。 错误: 我正在使用postgres 问题答案: 从我看到的地方,您实际上不需要联接即可执行此操作… 它将删除leadcustomer中customerID为:1)与8不同的所有记录2)

  • 我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。