我有三张桌子。 T1,T2,T3。我想获得t2,t3之间的公共值,并从t1中选择整个记录。当我输入我的陈述时如下:
select * from db.t1 where col1
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);
我收到语法错误。有什么问题?
答案 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);