' on子句'中的未知列

时间:2016-07-04 21:27:00

标签: mysql database

我有这个MySQL查询正确选择数据,直到我加入另一个表(afk_measures_childs)并给我这个错误: " #1054 - 未知专栏' md.org_date'在' on条款' "

select md.id,md.value,md.text_ar,md.photo,md.created_date org_date,mc.ar_title from afk_map_data md,afk_measures_childs mc
INNER JOIN 
(SELECT id,max(created_date) max_date from afk_map_data) t 
on 
t.max_date = md.org_date
WHERE
md.measures_child_id = mc.id
AND
md.map_id = 1
AND
md.state_id = 1
AND
md.measures_id= 1 
order by md.id

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

不要混合旧的隐式和新的显式连接语法。

select md.id,md.value,md.text_ar,md.photo,md.created_date org_date,mc.ar_title 
from afk_map_data md
JOIN afk_measures_childs mc on md.measures_child_id = mc.id
JOIN 
(
   SELECT id, max(created_date) max_date 
   from afk_map_data
) t on t.max_date = md.org_date
WHERE md.map_id = 1
AND md.state_id = 1
AND md.measures_id= 1 
order by md.id

答案 1 :(得分:0)

您尚未使用别名

正确设置内部联接
select md.id,md.value,md.text_ar,md.photo,md.created_date org_date, mc.ar_title 
from afk_map_data md
INNER JOIN afk_measures_childs mc on md.measures_child_id = mc.id 
INNER JOIN 
    (SELECT id,max(created_date) max_date from afk_map_data) t 
    on t.max_date = md.org_date
where
md.map_id = 1
AND
md.state_id = 1
AND
md.measures_id= 1 
order by md.id