我有三张桌子。t1,t2,t3。我想获得 t2,t3 之间的共同值并从 t1 中选择整个记录。当我输入我的陈述时:
select * from db.t1 where col1
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);
我收到语法错误。怎么了 ?
我有三张桌子。t1,t2,t3。我想获得 t2,t3 之间的共同值并从 t1 中选择整个记录。当我输入我的陈述时:
select * from db.t1 where col1
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);
我收到语法错误。怎么了 ?
这:
where col1.t2=col1.t3);
应该:
where t2.col1=t3.col1);
假设您正在测试 t2.col1=t3.col1(而不是 col1.t2=col1.t3,如图所示),那么另一个问题是内部 SELECT 中 col1 的歧义。
我不确定,但也许您必须重命名封装的 col1 :
select * from db.t1 where t1.col1
IN (
select col1 as col1bis from t2 , t3
where t2.col1 = t3.col1);