【发布时间】:2012-06-12 09:04:14
【问题描述】:
mysql(5.1.36)中关于full-joining的问题很多。当然解决方案是join-union组合。
我的问题是我有两个像这样的临时表:
CREATE TEMPORARY TABLE wConfs
(
idWorker INT,
confs SMALLINT
) ENGINE=INNODB;
CREATE TEMPORARY TABLE wRejects
(
idWorker INT,
rejects SMALLINT
) ENGINE=INNODB;
JOIN-UNION mix 不能用于完全连接临时表,因为它会导致ERROR 1137 (HY000): Can't reopen table。
我的问题是 - 在临时表上实现完全联接的最简单的解决方案是什么?
编辑: JOIN-UNION 组合:
SELECT wc.idWorker, wc.confs, wr.rejects FROM wConfs wc LEFT JOIN wRejects wr
ON (wr.idWorker = wc.idWorker)
UNION
SELECT wc.idWorker, wc.confs, wr.rejects FROM wConfs wc RIGHT JOIN wRejects wr
ON (wr.idWorker = wc.idWorker);
【问题讨论】:
-
这个“JOIN-UNION mix”的代码在哪里?
-
将此组合添加到我的问题中。
标签: mysql join temp-tables