sql 一个字段有多条数据 在一行显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 一个字段有多条数据 在一行显示相关的知识,希望对你有一定的参考价值。

select b.f_measure from t_quality_qi_special t , t_quality_qi_measure b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1 查询出 两条记录
将其结果 显示 为 1224 ,122 不甚感激

方法一:直接构造(这种方法针对这样的问题比较好,但实用性不大)
DECLARE @result VARCHAR(1024)
SET @result = ''
select @result += b.f_measure+',' from  t_quality_qi_special t ,  t_quality_qi_measure  b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
set @result=substring(@result,1,len(@result)-1)
SELECT @result  
方法二:游标遍历(这种方法可适用性比较强,但是看起来比较麻烦)
declare @result varchar(1024) ='',@lsf_measure varchar(1024)
declare cursor_test cursor for  select b.f_measure  
 from  t_quality_qi_special t ,  t_quality_qi_measure  b 
 where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
open cursor_test
fetch next from cursor_test into @lsf_measure
while @@fetch_status=0
begin
 if len(@result)>=1
 set @result=@result+','+@lsf_measure
 if len(@result)<1 
 set @result=@lsf_measure
 fetch next from cursor_test into @lsf_measure
end
close cursor_test
deallocate cursor_test
select @result

参考技术A DECLARE @str NVARCHAR(1000)
SET @str = ''

select @str += b.f_measure from t_quality_qi_special t , t_quality_qi_measure
b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
SELECT @str
--2008

sql带条件多条数据合并为一条数据并换行

如:数据字段
id content
1 h1
2 h2
3 h3
4 2
5 3
6 4
7 h4
8 h3
9 a
10 b
11 c
求sql语句,如何将不带h开头的行合并到上一个带h开头的行内并换行,结果如下:
1 h1
2 h2
3 h3
2
3
4
7 h7
8 h8
a
b
c
12 h10

也就是说逢h字母时合并下面没有带h的记录,并删除不带h的行,直到遇到h时停止合并记录,再次出现相同情况继续执行合并。以此类推.......,结果如下
第1条:1 h1
第2条:2 h2
第3条: 3 h3 2 3 4,且合并为一行后保留换行(4条数据合并为1条数据,且h3 2 3 4之间有换行)
第4条:h4
第5条变为: 8 h8 a b c,且合并为一行后保留换行(4条数据合并为1条数据,且h3 2 3 4之
间有换行)
第6条:12 h6

修正现在的表添加一个唯一的标识
先按条件分组,统计两个关键的内容
数量:大于1的时需要删除的
max或min的标识: 用于删除得行标识
delete from 表where id in(
slect id ,count(*) ,max(id) from 表 groupby id
having count(*)>1
)
如果有大于2的重复记录,需要在写循环删除
参考技术A 用sql 语句
好像是:
EXECUTE sp_rename 'dbo.IPList.DownIP', 'Tmp_DownIP45_1', 'COLUMN'
修改字段名

以上是关于sql 一个字段有多条数据 在一行显示的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询仅显示一个具有多条记录的字段

SQL中一个字段中如何插入多条字段数据?

关于Oracle,在一行中个别字段多行显示。

sqlplus多行代码怎么

PHP 批量修改多条记录的Sql语句写法

SQL多表多字段联合查询怎么弄?最终结果用HTML页面以表格形式显示(表格已有,类似excel)。