2013-10-04 32 views
1

我试图运行这个查询。mysql中的错误1248

select * 
from (select * 
     from student 
     where dept_name= ’Comp. Sci’) 
     natural left outer join 
    (select * 
     from takes 
     where semester = ’Spring’ and year = 2009); 

但每次我拿到

error# 1248: every derived table must have its own alias. 

我曾尝试创建正在产生,但同样的错误每次出现的所有表的别名。

我该如何解决这个问题。我查了一些已经回答的问题,但没有运气。

回答

0

试试这个:::

select * from 
(select * from student s where dept_name= ’Comp. Sci’) as tempLeft 
left join (select * from takes t where semester = ’Spring’ and year = 2009) on (// join condition) 
+0

我尝试过,但出现同样的错误 –

+0

Sashi康德,你忘了别名,第二个子查询。 – Nicolai

0

添加别名子查询:

select * 
from 
    (select * from student s where dept_name= 'Comp. Sci') as data1 
    natural left outer join (select * from takes t where semester = 'Spring' and year = 2009) as data2; 
+0

我试过这个代码,但是 错误代码1054:未知列''比较。科学'在哪里条款 发生 –

+0

您是否尝试过Sashi Kant的变体或我的?萨西康德犯了错误 - 他忘了第二个别名的别名。 – Nicolai

+0

对不起,将符号'更改为'(简单单引号) – Nicolai