3

我有 2 个表(表 1 和表 2)。我想执行以下查询:

UPDATE TABLE1 a,TABLE1 b
SET a.desg=CASE WHEN b.attribute_id=74 THEN b.value ELSE a.desc END
WHERE a.entity_id=b.entity_id;

但是我在 TABLE1 中有一些行,entity_id 为 NULL。
评估时未考虑这些WHERE a.entity_id=b.entity_id;

我什至希望为这个 WHERE 子句考虑 NULL。

我怎样才能做到这一点?提前致谢。

4

2 回答 2

5
UPDATE TABLE1 a, TABLE1 b
SET a.desg = CASE WHEN b.attribute_id=74 THEN b.value ELSE a.desc END
WHERE a.entity_id=b.entity_id OR (a.entity_id IS NULL AND b.entity_id IS NULL)
于 2012-04-10T11:14:58.467 回答
2

尝试使用类似的东西

WHERE IFNULL(a.entity_id, 0) = IFNULL(b.entity_id, 0);
于 2012-04-10T11:13:53.163 回答