作者adrianshum (Alien)
看板Database
标题Re: [Oracle] 在Cursor里使用inline view
时间Wed Dec 9 11:58:38 2009
※ 引述《fantasyj (如梦似幻)》之铭言:
: ※ 引述《cbreak (cbreak)》之铭言:
: : 我使用D2K 4.5与Oracle 8i
: : 请问一下, 我这样的方式为何在D2K 4.5会compile错误呢?
: : Declare cursor is
: : select a.c1, a.c2, b.c1
: : from TableA a, (select c1,c2 from TableB where c3='xxx') b
: : where a.c3=b.c3 and a.c4='yyy';
: : 请问cursor里不能有inline view吗?
: : 还是因为D2K/Oracle版本的问题呢? 谢谢!
: subquery中, 少一个c3
: SELECT A.C1, A.C2, B.C1
: FROM TABLE A,
: (SELECT B.C1, B.C2, B.C3
: FROM TABLE B
: WHERE B.C3 = 'xxx') B
: WHERE A.C3 = B.C3
: AND A.C4 = 'yyy';
其实这里真的需要 subquery 吗?
select a.c1, a.c2, b.c1
from table_a a
inner join table_b
on a.c3 = b.c3
where b.c3 = 'xxx'
and a.c4 = 'yyy'
这不是简明得多吗?
== edit ==
(刚看到是 8i, 记得 8i 好像不能写 join clause? 改一改)
select a.c1, a.c2, b.c1
from table_a a, table_b b
where a.c3 = b.c3
and b.c3 = 'xxx'
and a.c4 = 'yyy'
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
※ 编辑: adrianshum 来自: 202.155.236.82 (12/09 12:00)