行記錄轉換為列記錄

2021-06-28 12:39:53 字數 955 閱讀 2688

clear 

clear all

create cursor t2 (學號 c(4),姓名 c(8),課目 c(10),成績 n(3))

insert into t2 values ("1001","張三","數學",102)

insert into t2 values ("1001","張三","語文",120)

insert into t2 values ("1002","李四","數學",119)

insert into t2 values ("1002","李四","語文",108)

select distinct 課目 from t2 into array ajg

* 建立臨時表結構及索引

lcstr=""

for lni=1 to alen(ajg,1)

lcstr=lcstr+iif(empty(lcstr),"",",")+alltrim(ajg[lni,1])+" n(3)"

endfor

create cursor t4 (學號 c(4),姓名 c(8),&lcstr)

index on 學號+姓名 tag xhxm

* 結束 *

* 資料處理

select t2

set relation to 學號+姓名 into "t4"

scan

km=alltrim(t2.課目)

if found("t4")

replace (km) with t2.成績 in "t4"

else

insert into t4 (學號,姓名,&km) values (t2.學號,t2.姓名,t2.成績)

endif

endscan

set relation to

select t4

browse

* 結束 *

MSSQL 列記錄合併

在專案開發中,有時會碰到將列記錄合併為一行的情況,例如根據地區將人員姓名合併,或根據拼音首字母合併城市等,下面就以根據地區將人員姓名合併為例,詳細講一下合併的方法。首先,先建乙個表,並新增一些資料,建表 如下 if object id n demo is not null begin drop ta...

MSSQL 列記錄合併

首先,先建乙個表,並新增一些資料,建表 如下 if object id n demo is notnull begin drop table demo endelse begin create table demo area nvarchar 30 name nvarchar 20 insert i...

CodeIgniter系列 記錄count和分頁

對於某個表的不帶條件的count,可以簡單的用 total this db count all table name 來獲取,但是如果有條件,則要用count all results this db where m this db from user total this db count all ...