0

我尝试通过 Pentaho Job 中的 SQL 脚本执行以下删除操作,我收到错误为 Unknown table 'a' in MULTI DELETE. 有人可以阐明这一点。还有其他方法可以解决这个问题吗?

DELETE a.*  FROM pm_report.PM_CONCERTS_GQV_REPORT_TEST a
WHERE EXISTS
(SELECT 1 FROM pm_report.PM_CONCERTS_GQV_REPORT_TEST_3 b WHERE b.TM_EVENT_ID=a.TM_EVENT_ID
GROUP BY b.TM_EVENT_ID)
4

2 回答 2

0

这是mysql吧?

在此处查看类似的解决方案 - 建议删除表别名。

值得注意的是,这与 Pentaho 无关,如果您在 SQL 客户端中执行此操作,您会得到相同的错误。如果你不这样做,那么差异可能在于 jdbc 驱动程序版本 - 可能值得检查。

于 2013-06-29T09:46:45.970 回答
-1

我可以建议这些选项:

  1. 不要使用别名
  2. 直接在你的mysql上试试这个并检查它是否适合你。
  3. 不要像这样使用 pentaho:进行转换并将查询分解为带有表输入和查找的步骤,然后按 row_id 删除行,它有点长但更容易理解和易于维护。“不要过度优化”
于 2014-11-29T12:25:52.753 回答