【发布时间】:2010-04-21 22:41:28
【问题描述】:
是否可以在连接子查询中使用来自外部选择的列值?
SELECT table1.id, table2.cnt
FROM table1 LEFT JOIN (SELECT COUNT(*) as `cnt`
FROM table2
WHERE table2.lt > table1.lt and table2.rt < table1.rt) AS table2 ON 1;
这会导致“'where 子句'中的未知列 'table1.lt'”。
这是数据库转储。
CREATE TABLE IF NOT EXISTS `table1` ( `id` int(1) NOT NULL, `lt` int(1) NOT NULL, `rt` int(4) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `table2` ( `id` int(1) NOT NULL, `lt` int(1) NOT NULL, `rt` int(4) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `table1` (`id`, `lt`, `rt`) VALUES (1, 1, 4);
INSERT INTO `table2` (`id`, `lt`, `rt`) VALUES (2, 2, 3);
【问题讨论】:
标签: mysql