现有两个表
表一
lxid name
01 红文具盒
02 铅笔
表二
id lxid upid
1 01
2 02 01
3 02 01
这两个表的意思是
在文具盒中放了2只铅笔,
现在能通过给定某只铅笔的id号,查出它属于的文具盒
比如
id lxid name
2 02 红文具盒
表一
lxid name
01 红文具盒
02 铅笔
表二
id lxid upid
1 01
2 02 01
3 02 01
这两个表的意思是
在文具盒中放了2只铅笔,
现在能通过给定某只铅笔的id号,查出它属于的文具盒
比如
id lxid name
2 02 红文具盒
id lxid name
2 02 红文具盒
3 02 红文具盒
select id,a.lxid,b.name from table2 a left join table1 b on a.lxid=b.lxid;select a.id,a.lxid,b.name
from table1 b,table2 a
where a.lxid = b.lxid
create or replace procedure id_name (p_id in vrchar2)
as
v_id varchar2(3);
v_lxid varchar2(4);
v_upid varchar2(10);
begin
select id into v_id,a.lxid into v_lxid ,b.name into v_upid from table2 a,table1 b
where id = p_id
a.lxid=b.lxid;
dbms_output.put_line(v_id || ' '||v_lxid ||' '||v_upid);
end;
楼上的有些没写到,测试了一下,下面是改楼上大哥的,版权归楼上大哥所有。小的学习啦create or replace procedure P_name (p_id in tempuser.aa02.id%type)
as
v_id varchar2(4);
v_lxid varchar2(4);
v_upid varchar2(20);
begin
select a.id,a.lxid,b.lxname into v_id, v_lxid, v_upid from aa02 a,aa01 b
where a.id = p_id
and a.lxid=b.lxid;
dbms_output.put_line(v_id || ' '||v_lxid ||' '||v_upid);
end;
表一 table_1
lxid name
01 红文具盒
02 铅笔
表二 table_2
id lxid upid
1 01
2 02 01
3 02 01
这两个表的意思是
在文具盒中放了2只铅笔,
现在能通过给定某只铅笔的id号,查出它属于的文具盒
比如
id lxid name
2 02 红文具盒 select t3.* from
(select t2.*,t1.name from table_1 t1,table_2 t2
where t1.lxid=t2.lxid) t3 where t3.id='2'
(select t2.lxid from table_2 t2 where t2.id='2') t3,table_1 t1,table_2 t2
where where t1.lxid=t2.lxid;
也可以是这样的代码哦。试一试