gpt4 book ai didi

php - 如何从 2 个有条件的表中删除

转载 作者:行者123 更新时间:2023-11-29 21:38:11 24 4
gpt4 key购买 nike

我想构建一个查询来从 2 个表中删除数据,但有一些条件,例如如果 cree_facture.refe ='EST1' 从 cree_devis 删除 cree_devis.refe='EST1' 以及如果 refe ='INV1' 从cree_facture 与 cree_facture.refe='INV1'

我尝试使用这2个查询,但问题是从表中删除所有数据不具备条件

DELETE FROM `cree_devis`, `cree_facture` 
USING `cree_devis`,`cree_facture`
WHERE `cree_devis`.`cree_par` = `cree_facture`.`cree_par`
AND (`cree_devis`.`refe` = 'INV1' OR `cree_facture`.`refe` = 'INV1' )

DELETE cree_devis, cree_facture 
FROM cree_devis
INNER JOIN cree_facture ON (cree_devis.cree_par=cree_facture.cree_par)
WHERE cree_devis.refe = 'EST1'
OR cree_facture.refe = 'EST1';

最佳答案

首先,您不能使用联接同时删除 2 个表。

您可能想要这个:

从 CREE_DAVIS T1 中删除其中 T1.REFE = 'EST1' 并且存在 (选择 1 来自 CREE_FACTURE T2 其中 T1.CREE_PAR = T2.CREE_PAR AND T2.REFE = 'EST1')

说明:从表 1 中删除在另一个表中存在与 CREE_PAR 匹配的行的每一行,同时两者的 REFE = 'EST1'

希望这是你想要的。

您现在还可以使用 INV1 并更改内部和外部查询中的表名称,以相同的方式进行另一个删除。

关于php - 如何从 2 个有条件的表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com