當前位置:首頁 » 編程語言 » 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>)

)