现有两个表
表一
lxid name
01 红文具盒
02 铅笔
表二
id lxid upid
1 01
2 02 01
3 02 01
这两个表的意思是
在文具盒中放了2只铅笔,
现在想得到如下结果
比如
id lxid name upname
1 01 红文具盒
2 02 铅笔 红文具盒
3 02 铅笔 红文具盒
表一
lxid name
01 红文具盒
02 铅笔
表二
id lxid upid
1 01
2 02 01
3 02 01
这两个表的意思是
在文具盒中放了2只铅笔,
现在想得到如下结果
比如
id lxid name upname
1 01 红文具盒
2 02 铅笔 红文具盒
3 02 铅笔 红文具盒
解决方案 »
- cannot validate (SCOTT.CK_SALL) - check constraint violated
- 一些经典oracle学习视频火爆下载中,不看后悔哦~~
- 存储过程,delete 语句无法执行 在线等,求大神
- 急!为什么我在SqlPlus里定义refcursor出错!!!
- update 语句问题
- 怎样用UPDATE写自增语句?
- 小弟请教各位大侠:关于Unix下Oracle调用外部函数的问题
- 请问为何我用ProC_C++编译的时候不能用EXEC SQL PREPARE XX FROM :YY;这一句?
- 如何取得分组后,每组的第一条纪录
- oracle dblink mysql 出错
- 刚写错了,再求一遍
- 关于 Oracle中 distinct 的问题 之二
where a.lxid=b.lxid) c,a
where c.lxid=b.lxid
create table t_07(id int,lxid varchar2(10),upid varchar2(10));
insert into t_06 values('01','红文具盒');
insert into t_06 values('02','铅笔');
insert into t_07 values(1,'01',null);
insert into t_07 values(2,'02','01');
insert into t_07 values(3,'02','01');
select a.id,a.lxid,b.name,c.name from t_07 a,t_06 b,t_06 c
where a.lxid=b.lxid
and a.upid=c.lxid(+)
order by id 1 01 红文具盒
2 02 铅笔 红文具盒
3 02 铅笔 红文具盒
where a.lxid=b.lxid) c,a
where c.upid=a.lxid(+)
上面写错了
(select name from a where lxid=b.lxid) as name,
(select name from a where lxid=b.upid) as upname
from b