数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现相关的知识,希望对你有一定的参考价值。
selectdistinct
‘T1’
M,
stuff((select
','+cast(b.t1
as
varchar)
from
TABLE_1
b
where
1=1
for
xml
path('')),1,1,'')
N
from
TABLE_1
a
union
all
select
distinct
‘T2’
M,
stuff((select
','+cast(b.t2
as
varchar)
from
TABLE_2
b
where
1=1
for
xml
path('')),1,1,'')
N
from
TABLE_2
a
where
1=1
就是一个列
把一个列都串起来
条件1=1是永远成立
这样就可以把所有的串起来了
你写2=2也可以啊
只要条件是永恒的
就可以 参考技术A 你这里完全就是1个表 t1 t2 t3三列 我根本没有看到有3个表
表结构都说不清楚 要大家怎么帮你呢?
declare @t table(t1 varchar(4), t2 varchar(4), t3 varchar(4))
insert into @t (t1, t2, t3) values ('a2','11', '21')
insert into @t (t1, t2, t3) values ('a2','12', '22')
insert into @t (t1, t2, t3) values ('a2','13', '23')
insert into @t (t1, t2, t3) values ('a2','14', '24')
insert into @t (t1, t2, t3) values ('b2','15', '')
insert into @t (t1, t2, t3) values ('b2','16', '')
insert into @t (t1, t2, t3) values ('c2','', '')
insert into @t (t1, t2, t3) values ('c2','', '')
insert into @t (t1, t2, t3) values ('d2','', '25')
insert into @t (t1, t2, t3) values ('d2','', '26')
select a.t1, left(t2,len(t2)-1)[t2], left(t3,len(t3)-1)[t3] from
(
select t1
, (select t2 + ',' from @t where t1 = a.t1 for xml path(''))[t2]
, (select t3 + ',' from @t where t1 = a.t1 for xml path(''))[t3]
from @t a group by t1
)a
以上是关于数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现的主要内容,如果未能解决你的问题,请参考以下文章