当前位置:首页 » 编程语言 » sql中怎么将查询结果一行显示
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中怎么将查询结果一行显示

发布时间: 2022-08-14 19:59:51

A. 求助两张表查询合并结果一行显示的sql语句怎么写

如果两张表的各自查询都只有一行结果。想把两个查询的结果合并到一行。可以直接使用自然连接:select AA.* , BB.* from (select * from A) as AA , (select * from B) as BB
其中 (select * from A) 和(select * from B)是你的两张表的查询,结果各自只有一行。

如果说,你的意思是每张表查询出来的结果都有多行。你需要这多行最后全部显示为一行内容。可能你需要使用 select * from A for xml path('') 来将每个查询的多行结果转换为一行XML文本字符串。

B. 如何把SQL Server多行查询结果合并在一行中

如果你要取的值是AdminName, 表应该还有一个标识来做复合组键, 就是最最终想要结果的col title(admin1, admin2).

假如结构如下:

C. sql中如何将一个字段的多个记录合在一行显示

有下表:

单位名称 收费类别
1 a
1 b
1 d
2 a
3 b
3 c
要求查询结果显示如下

单位名称 收费类别
1 a,b,d
2 a
3 b,c

函数实现
create function getstr(@单位名称 int)
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(收费类别) from 表 where 单位名称=@单位名称
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go

--调用:
select 单位名称,dbo.getstr(单位名称) 收费类别 from 表 group by 单位名称

D. SQL 怎样将查询出某列的多行数据,变为一行显示 通过SQL语句查询出结果 AutoID cT

你好,你看看参考一下。

DECLARE@tTABLE(idint,valuevarchar(10))
INSERT@tSELECT1,'出国'
UNIONALLSELECT2,'回国'

SELECT[values]=STUFF((REPLACE(REPLACE((SELECTvalueFROM@tFORXMLPATH('')),'<value>',','),'</value>','')),1,1,'')

E. sql语句 如何将一个表中的多条数据显示在一行呢

如果知道需要显示的确切的数据数量,那么直接在sql的select语句中这样写:
select 1 as id1, (select name from table where id=1)as name1,(select age from table where id=1)as age1,(select gender from table where id=1)as gender1,
2 as id2, (select name from table where id=2)as name2,(select age from table where id=2)as age2,(select gender from table where id=2)as gender2,
3 as id3, (select name from table where id=3)as name3,(select age from table where id=3)as age3,(select gender from table where id=3)as gender3
from table
如果数据量不确定,则可以用游标做一个对原表的遍历,这样写(假设记录数最多100条):
create table #result (id1 int ,name1 varchar(10),age1 int , gender1 char(2)......id100 int ,name100 varchar(10),age100 int , gender100 char(2))
declare @id int, @name varchar(10), @age int , @gender char(2),@i int, @c varchar(5),
@cId varchar(5), @cAge varchar(3)
set @i=0
set @c='0'
declare mycur cursor for select id,name,age,gender from table order by id
open mycur
fetch next from mycur into @id , @name , @age , @gender
while (@@fetch_status=0)

begin
set @i=@i+1
set @c=convert(varchar(5),@i)
exec('insert into #result (id'+@c+',name'+@c+',age'+@c+',gender'+@c+') values ('+@cId+','''+@name+''','+@cAge+',‘’‘+@gender+’‘’)‘)
fetch next from mycur into @id , @name , @age , @gender
end
close mycur
deallocate mycur
select * from #result

F. sql查询结果横向显示

简单啊,先用row_number 获取 No顺序,然后通过STUFF FOR XML PATH 获取顺序号转成字段

通过动态SQL利用PIVOT行列

G. 如何将多个SQL查询统计结果一次显示出来

可以通过count函数来实现。
sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。
sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统计的记录条数。
备注:以上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。

H. 怎么样将sql查询出来的多行数据变成一行多

怎么样将sql查询出来的多行数据变成一行多
sql查询结果如果只有一条,就会显示一行,行数代表了结果数,列数的多少取决于你所查询的字段数。

I. sql 查询出一列内容,如何让它成一行显示。

进行行转列下面是相关语法等

PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:

table_source

PIVOT(

聚合函数(value_column)

FOR pivot_column

IN(<column_list>)

)

View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现

完整语法:

table_source

UNPIVOT(

value_column

FOR pivot_column

IN(<column_list>)

)