我已经在这个问题上坚持了将近一个星期,如果我不能尽快解决,可能会得到粉红色的纸条。因此,我将不胜感激。
“ column2 = table2.column2”似乎是罪魁祸首。
SELECT (SELECT column2
FROM (SELECT column3,
column2
FROM table2 AS table2Alias
WHERE column2 = table2.column2
GROUP BY column2 COLLATE utf8_bin, column3
ORDER BY COUNT(*),
column2 COLLATE utf8_bin) AS t
GROUP BY column3
ORDER BY COUNT(*),
column2 COLLATE utf8_bin
LIMIT 1) AS t2
FROM table2
WHERE column1 IS NULL
GROUP BY column2
编辑:如何将嵌套的嵌套子查询移到外面一两个级别,以便它可以访问最外面的表的列?
编辑2:由于明显的原因,列的名称已更改。我实际上并没有在实际代码中使用“文件”或“目录”。该代码与文件或目录无关。
编辑3:为防止混淆,我更改了名称。
答案 0 :(得分:0)
我猜是这里的问题是 WHERE column2 = table2.column2 :那个阶段还没有定义table2.column。
您需要更改WHERE,以便它将过滤到最里面的SELECT
答案 1 :(得分:0)
I would suggest that you rebuikd your query. <br />
当前最外面的select没有字段,因此大概将 select(select 更改为 select * from(select 可能会产生一些结果...
据我了解,您随着时间的推移建立了此查询,现在它的大部分逻辑已被深深隐藏。例如,子句“ where column1为null” 可能会进入最里面的select ...