【发布时间】:2014-09-11 18:44:09
【问题描述】:
如何处理 MySQL JOIN 处理 NULL 值。由于大多数地址没有第二行地址,因此 address2 有许多 NULL 值。当我运行查询以根据 address1、address2 和 zip 匹配地址时,当只有 address1 和 zip 匹配时,查询不会返回正匹配。我确保两个表在地址 2 为 NULL 时的值为 NULL。所以基本上要运行查询,我运行两个查询。
UPDATE target t
JOIN pl2.site2 s ON t.address1=s.address1 AND t.zip5=s.zip5
SET t.idsite=s.idsite
WHERE t.address2 IS NULL AND s.address2 IS NULL;
UPDATE target t
JOIN pl2.site2 s ON t.address1=s.address1 AND t.address2=s.address2 AND t.zip5=s.zip5
SET t.idsite=s.idsite;
并不是真正的艰苦工作。只是试图更多地了解 SQL 的工作原理。也许还有另一种解决方案,我也不想将 columns=''(blank) 设置为 NULL 。
【问题讨论】: