SQL進行行列轉換

2021-03-31 22:22:09 字數 789 閱讀 8913

假設現在有這樣一張表:

create table [dbo].[relconlist] (

[listid] [**allint] identity (1, 1) not null ,

[listfkmainid] [varchar] (20) collate chinese_prc_ci_as not null ,

[listfkrelid] [varchar] (20) collate chinese_prc_ci_as not null

) on [primary]

go如果要實現行列轉換,則我必須要建立函式,函式如下:

create function mergerelid (@listfkmainid varchar(20)) 

returns varchar(2000)

as 

begin

declare @listfkrelid varchar(2000)

set @listfkrelid=''

select @listfkrelid = @listfkrelid +','+ listfkrelid from relconlist where listfkmainid=@listfkmainid

return(substring(@listfkrelid,2,2000))

end在使用時,使用如下語句,就可以顯示轉換了!!

select dbo.mergerelid(listfkmainid)

from relconlist

group by listfkmainid

sql進行行列轉換

1.分別求出孫悟空 豬八戒 沙僧的總打怪數 select sum kills from user1 a join user kills b on a.id b.user id where a.user name 孫悟空 select sum kills from user1 a join user ...

使用 case when進行行列轉換

固定列數的行列轉換,表結構為 轉換後 要求 建立表,源表,表名 student 只用一句sql 得到轉換結果。解答 方法一 通過生成臨時表的方式操作 select name sum yw as 語文 sum sx as 數學 sum wy as 英語 from select name case su...

MySQL之進行行列轉換

內容介紹 如何進行行列轉換 如何生成唯一序列號 如何刪除重複資料 一 如何進行行列轉換 需要用到的場景 主要兩個場景 報表統計 彙總顯示 使用自連線實現行列轉換 行轉列比如成績 1 分別查詢出不同同學的成績,並將欄位名改為同學的名字。2 通過交叉連線,將不同的語句連線起來 select from s...

行列轉換並且進行行列資料統計 rollup

具體的行列轉換並且進行行列資料統計 create table tmpa dept char 3 sect char 3 line char 3 line desc varchar 30 title code char 3 title desc varchar 30 headcount int 加入一...

sql行列轉換

問題 如果上述兩表互相換一下 即表結構和資料為 姓名 語文 數學 物理 張三 74 83 93 李四 74 84 94 想變成 得到如下結果 姓名 課程 分數 李四 語文 74 李四 數學 84 李四 物理 94 張三 語文 74 張三 數學 83 張三 物理 93 create table tb ...