不能使用内部查询

时间:2018-09-14 16:51:44

标签: mysql

我正在尝试使用以下语法简化更新查询:

UPDATE cl
SET cl_s="active_"
WHERE id in (
                SELECT distinct 
                    c.id 
                from
                    cl          c,
                    ac          a,
                    cl_ac       ac
                where
                    c.id=ac.cl_id
                    and
                    a.id=ac.ac_id
                    and 
                    c.cl_s="someval"
                    and 
                    a.ac_no !=""
            )
;

我得到的错误是:错误代码:1093。您无法在FROM子句中指定要更新的目标表

我已经阅读了一些帖子,其中提到MySQL无法运行这样的查询。我想知道一种无缝的方法来将此类查询重组为有效的结构。解决方案似乎是改用联接,但我似乎无法理解这个概念。

伪代码将有助于理解。

(Main query)
where var in (subquery generating var list)

(main query) inner join (subquery generating var list) on var ???

0 个答案:

没有答案