資料庫動態行轉列

2021-04-26 07:16:33 字數 1508 閱讀 1984

1

、棧stack.peek()

表示的是取得棧頂元素值,但不將其彈出。2、

sql語句

(動態行轉列)

string

sql1 = "declare @strsql varchar(8000) set @strsql = 'select stuname [

姓名]' ";

string

sql2 = sql1 + "select @strsql = @strsql + ',sum(case z_subject.subname when ''' + subname + ''' then z_score.score end) [' + subname + ']'";

string

sql3 = sql2 + "from (select subname from z_subject) as tmp select @strsql = @strsql + ' from [z_score] ,[z_subject] , [z_student] ";

string

sql4 = sql3 + "where z_student.stuid = z_score.stuid and z_subject.subid = z_score.subid and z_student.stuid = '+ ''''+'" + stuid + "'+''''+' group by z_student.stuid, z_student.stuname' ";

string

sql5 = sql4 + " exec(@strsql)";

declare @strsql varchar(8000)

set @strsql = 'select stuname [

姓名]'

select @strsql = @strsql + ',sum(case z_subject.subname when ''' + subname + ''' then z_score.score end) [' + subname + ']'

from (select subname from z_subject) as tmp

select @strsql = @strsql + ' from [z_score] ,[z_subject] , [z_student]

where z_student.stuid = z_score.stuid and z_subject.subid = z_score.subid and z_student.stuid = '+ ''''+'"

+ stuid + "'+''''+'

group by z_student.stuid, z_student.stuname'

exec(@strsql)

print @strsql

可以在除錯的時候用到。

3、mbox

try

catch

(exception ex)

else

return

false; }

finally

資料庫行轉列

話不多說直接進入正題 資料接庫資料如下圖 要把資料變成行,一目了然的看到乙個學生的所有科目成績,sql如下 select name,max case subject when 語文 then score else 0 end as 語文 max case subject when 數學 then s...

資料庫 SQL 行轉列

學校裡面記錄成績,每個人的選課不一樣,而且以後會新增課程,所以不需要把所有課程當作列。資料庫grade裡面資料如下圖,假定每個人姓名都不一樣,作為主鍵。本文以mysql為基礎,其他資料庫會有些許語法不同。資料庫資料 處理後效果 方法一 select distinct a.name,select sc...

MySQL資料庫行轉列

一 資料來源如下所示 二 對應sql語句如下所示 行轉列 select t1.產品名稱 sum case t1.日期 when 2019 11 11 then t1.數量 else 0 end as 2019 11 11 sum case t1.日期 when 2019 11 12 then t1....