互联网服务数据库SQL

left join 子查询报错

问问子查询left join报错的问题,select * from  a left join (  select b.id1,c.c1 from b,c where b.id2 = c.id2 )  f on a.id1 = f.id1语句执行报语法错误,请各位大侠帮忙看看怎么修改,谢谢 create table a( id1 integer, a1 integer )...显示全部
问问子查询left join报错的问题,
select * from  a left join (  select b.id1,c.c1 from b,c where b.id2 = c.id2 )  f on a.id1 = f.id1
语句执行报语法错误,请各位大侠帮忙看看怎么修改,谢谢
 create table a(
 id1 integer,
 a1 integer
 );
 insert into a values(1,1);
 insert into a values(2,2);
 insert into a values(3,3);
 insert into a values(4,4);
 insert into a values(6,6);
 insert into a values(7,7);

 create table b(
 id1 integer,
 id2 integer,
 b1 integer);
 insert into b values(1,1,1);
 insert into b values(3,3,3);
 insert into b values(5,5,5);
 
 
 create table c (
 id2 integer,
 c1 integer);
 insert into c values(1,1);
 
 
 --执行报错
select * from  a left join (  select b.id1,c.c1 from b,c where b.id2 = c.id2 )  f on a.id1 = f.id1
 
 
 --变通方法,执行成功
select b.id1,c.c1 from b,c where b.id2 = c.id2 into temp temp2 with no log;

select * from a left join temp2 f on a.id1 = f.id1;


----方法3,结果不对
select a.*,c.c1 from a,outer b , c
where a.id1 = b.id1 
and b.id2 = c.id2

附件:

附件图标IDS 教程指南.pdf (3.23 MB)

收起
参与4

查看其它 3 个回答创鬼的回答

创鬼创鬼数据库运维工程师高伟达
回复 3# 创鬼


测试环境是
IBM Informix Dynamic Server Version 9.40.UC9     -- On-Line -- Up 00:41:13 -- 568312 Kbytes
银行 · 2015-05-07
浏览1694

回答者

创鬼
数据库运维工程师高伟达

创鬼 最近回答过的问题

回答状态

  • 发布时间:2015-05-07
  • 关注会员:0 人
  • 回答浏览:1694
  • X社区推广