数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现相关的知识,希望对你有一定的参考价值。

select
distinct
‘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实现的主要内容,如果未能解决你的问题,请参考以下文章

SQLserver用逗号隔开的数据如何改为分行

php 如何从mysql输出数组用逗号分隔?

mysql 两个以逗号分隔字段怎么匹配

Mysql 数据字段值是用逗号隔开,如何写SQL语句

Mysql 数据字段值是用逗号隔开,如何写SQL语句

oracle如何将多个值放在一个字段里面 用逗号隔开