在select statment中使用Month(date)的sql left join错误

时间:2015-08-02 16:14:03

标签: mysql sql

此代码有效:

select Date1,  Date2
from 
    (SELECT Month(Date1) FROM Table1 GROUP BY Date1) t1
left join
    (SELECT Month(Date2) FROM Table2 GROUP BY Date2) t2
on
    t1.Date1 = t2.Date2

但是我需要使用它来提取Month(...)所以当我更改这样的代码时我会收到错误:

  

'字段列表'中的未知列'Date1'

as

实际上代码更大,只有这部分代码不允许我继续...

3 个答案:

答案 0 :(得分:1)

内部选择查询中缺少{{1>}的

别名

month

答案 1 :(得分:0)

SQL Engine会抛出错误,因为它无法在子查询中找到此名称实体。 如此用户所述,您需要在子查询中提供别名。

答案 2 :(得分:0)

使用Month()时缺少别名:

select Date1,  Date2
from 
    (SELECT Month(Date1) month1 FROM Table1 GROUP BY Date1) t1
left join
    (SELECT Month(Date2) month2 FROM Table2 GROUP BY Date2) t2
on
    t1.Date1 = t2.Date2