表B有个字段CODE里面是 C1,C2,C3但B表里对应有C1代表"yyyy",C2代表 'kkkk'code_id memo
C1 yyyy
C2 kkkk
C3 hhhh想通来一语句实现:
===
CODE memo
C1,C2,C3 yyyy,kkkk,hhhh
C1 yyyy
C2 kkkk
C3 hhhh想通来一语句实现:
===
CODE memo
C1,C2,C3 yyyy,kkkk,hhhh
C1 yyyy
C2 kkkk
C3 hhhh想通来一语句实现:
===
CODE memo
C1,C2,C3 yyyy,kkkk,hhhh
但是你的问题属于行转列
这在oracle里一般不能用一句SQL语句实现,只能写程序
我知道SQL SERVER可以
select @var=@var+field from table;oracle在这方面得改进改进了,实在是太多的人提出类似的问题了。。
-- ----
C1 4444
C2 5555
C3 6666SQL> select * from b;CODE
--------------------
C1,C3SQL> create or replace function get_code(t_code varchar2) return varchar2 is
2 p_out varchar2(100);
3 cursor cur1 is select re from a where instr(t_code,code_id)>0;
4 begin
5 for cur2 in cur1 loop
6 if p_out is null then
7 p_out:=cur2.re;
8 else
9 p_out:=p_out||','||cur2.re;
10 end if;
11 end loop;
12 return p_out;
13 end;
14 /函数已创建。SQL> select code,get_code(code) from b;CODE GET_CODE(CODE)
-------------------- ----------------------------------------
C1,C3 4444,6666