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

sql语句查询结果输出在一行

发布时间: 2022-05-18 12:06:03

❶ 如何把sql Server多行查询结果合并在一行中

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

假如结构如下:

❷ sql server 多个查询结果显示一行

select * from (SELECT count (itemid) k FROM PE_CommonModel WHERE Inputer = 'admin' and NodeID = 19) A,(SELECT count (itemid) a FROM PE_CommonModel WHERE Inputer = 'admin' AND NodeID = 20) B

❸ SQL SERVER查询多行值,结果只显示一行!

转换一种方式来计数即可
SELECT SUM(CASE NodeID WHEN 19 THEN 1 ELSE 0 END) AS K,
SUM(CASE NodeID WHEN 20 THEN 1 ELSE 0 END) AS A
FROM PE_CommonModel WHERE Inputer = 'admin'

❹ 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

❺ 求助两张表查询合并结果一行显示的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文本字符串。

❻ sql server 多行查询结果显示为一行

参考这个链接:http://blog.csdn.net/helloword4217/article/details/17202973 应该能解决的。

我正在努力看懂...............

试一下下面代码看看

select WPRO_NAME,CS_PRICE+WS_PRICE --CONT_NO ,CONT_VER 这两列我不要了

INTO #ProgrectDetail

from CS_COST_DETAIL where FTY_ID='mk5' and CONT_NO='GWCH-14-AK084' and COST_VER=0

DECLARE @sql VARCHAR(1000), @distinct_val VARCHAR(500) ;
SET @sql = 'SELECT * FROM #ProgrectDetail PIVOT(SUM(PRICE) FOR [WPRO_NAME] IN (' ;
SET @distinct_val = (SELECT STUFF(( SELECT DISTINCT ',' + [WPRO_NAME] FROM #ProgrectDetail FOR XML PATH('')), 1, 1, '')) ;
SET @sql = @sql + @distinct_val + '))' + ' p'
EXEC(@sql)

❼ 使用SQL语句从数据库中查询数据数据,并根据字段不同值形成不同列,在同一行显示

TRANSFORM Avg(表t.[消费]) AS 消费之平均值
SELECT 表t.[年份], Avg(表t.[消费]) AS [总计 消费]
FROM 表t
GROUP BY 表t.[年份]
PIVOT 表t.[月份];
用交叉表查询
年份是行标题,月份列标题,交叉处求平均。

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

你好,你看看参考一下。

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

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

❾ 怎么sql语句实现把查询结果的一列并为一行显示

光靠
SQL语句
是办不到的。因为一条SQL你查询的时候默认的就是返回的一个表格的形式,
如果想要得到你要的效果的话当然程序里面是很容易办到的,
但是如果你是只靠SQL来完成的话那么你就要写个简单的
存储过程
了这样就能满足你的条件了

❿ 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>)

)