如何把SQL中同一表的三条记录合并为一条?SQL语句怎么写?
如何把SQL中同一表的三条记录合并为一条?表内容如下:代码名称1中国101云南省10101保山市1010101腾冲县我想的是把名称合并为:中国/云南/保山市/腾冲县SQL...
如何把SQL中同一表的三条记录合并为一条?
表内容如下:
代码 名称
1 中国
101 云南省
10101 保山市
1010101 腾冲县
我想的是把名称合并为:
中国/云南/保山市/腾冲县
SQL语句怎么写? 展开
表内容如下:
代码 名称
1 中国
101 云南省
10101 保山市
1010101 腾冲县
我想的是把名称合并为:
中国/云南/保山市/腾冲县
SQL语句怎么写? 展开
7个回答
展开全部
估计只能用存储函数写了。
create or replace function GetPath(
@v_id varchar2)
return varchar2
is
v_name varchar2(255);
v_path varchar2(255);
begin
select name into v_name from table where id = substr(v_id, 0, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 1, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 3, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 4, 2);
v_path := v_path | v_name;
return v_path;
end GetPath;
select GetPath(ID) from table;
create or replace function GetPath(
@v_id varchar2)
return varchar2
is
v_name varchar2(255);
v_path varchar2(255);
begin
select name into v_name from table where id = substr(v_id, 0, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 1, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 3, 2);
v_path := v_path | v_name;
select name into v_name from table where id = substr(v_id, 4, 2);
v_path := v_path | v_name;
return v_path;
end GetPath;
select GetPath(ID) from table;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 名称+'/' from 表 where 1=1 for xml path('')
where那里写你自己的条件吧。
where那里写你自己的条件吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个完全可以在程序来实现,把每个名称先分别查询出来,
string address="中国"+“/"+"云南省"+“/"+"保定市"+“/"+"腾冲县",
string address="中国"+“/"+"云南省"+“/"+"保定市"+“/"+"腾冲县",
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @res varchar(1000)
select @res = isnull(@res,'')+名称+'/' from 表名 where 代码 like '101%' order by 代码
select @res
select @res = isnull(@res,'')+名称+'/' from 表名 where 代码 like '101%' order by 代码
select @res
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询