mysql:删除查询不适用于子查询

时间:2017-08-23 08:24:51

标签: mysql

此查询执行永远不会结束。

delete from commande where bl in (
    select noBl from (
        select distinct noBl,num_commande from T_VENTE) s
    group by noBl
    having count(*)>2
);

我不明白,因为子查询

select noBl from (
        select distinct noBl,num_commande from T_VENTE) s
    group by noBl
    having count(*)>2

需要一秒钟才能实现。

列bl在表commande中编入索引。

如果有人有想法......
提前致谢

2 个答案:

答案 0 :(得分:0)

我不确定你的成就。你需要提供详细的信息 你需要一个条件语句来删除就像这样。

.to("restlet:http://localhost:" + port + "/securedOrders?restletMethod=post");

工作原理

首先从agent表中获取agent_code中的记录,然后使用result来执行删除操作。

答案 1 :(得分:0)

您必须使用其他级别的子查询: 检查this answer

delete from commande where bl in (
    select noBl from (
        select noBl from (
            select distinct noBl,num_commande from T_VENTE) s
        group by noBl
        having count(*)>2
    ) as tmp
);