使用MySql我试过这个:
Update ModePaiement SET Emplacement =
IF((SELECT Emplacement FROM Escompte WHERE Emplacement = 4)
OR
(SELECT Emplacement FROM ModePaiement WHERE Emplacement = 4),
13,
11)
WHERE id = 1
但是我收到一条错误,我无法在我的选择部分中使用ModePaiement
...
如果我将ModePaiement
替换为任何其他表,那么它可以正常工作......
也许是因为我也在ModePaiement
表中更新......
还有其他办法吗?
答案 0 :(得分:0)
http://sqlfiddle.com/#!9/2c710e/1
UPDATE ModePaiement
LEFT JOIN (SELECT Emplacement
FROM ModePaiement WHERE Emplacement = 4
UNION
SELECT Emplacement
FROM Escompte WHERE Emplacement = 4) t
ON 1
SET ModePaiement.Emplacement = IF(t.Emplacement IS NULL,11,13)
WHERE id = 1