Erro 1062:SQL语法错误

时间:2012-08-26 07:27:46

标签: mysql

我有三张桌子。 T1,T2,T3。我想获得t2,t3之间的公共值,并从t1中选择整个记录。当我输入我的陈述时如下:

select * from db.t1 where col1 
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);

我收到语法错误。有什么问题?

3 个答案:

答案 0 :(得分:0)

此:

where col1.t2=col1.t3);

应该是:

where t2.col1=t3.col1);

答案 1 :(得分:0)

假设您正在测试t2.col1 = t3.col1(而不是col1.t2 = col1.t3,如图所示),那么另一个问题是内部SELECT中col1的歧义。

答案 2 :(得分:0)

我不确定,但也许您必须重命名封装的col1:

select * from db.t1 where t1.col1 
IN (
select col1 as col1bis from t2 , t3
where t2.col1 = t3.col1);