我用的是sql2000,請教如何把sql結果集翻轉?
如下一張表:checkinout 顯示員工簽到,簽退的考勤表,
checktype:考勤型別 i 表示簽到,o 表示簽退
timeflag: 4表示上午,5表示下午
checktime 簽到,籤
userid checktype checktime timeflag
1 i 2007-01-01 08:30:30 4
1 o 2007-01-01 11:40:00 4
1 i 2007-01-01 13:30:30 5
1 o 2007-01-01 17:40:00 5
2 i 2007-01-01 08:30:30 4
2 o 2007-01-01 11:40:00 4
2 i 2007-01-01 13:30:30 5
2 o 2007-01-01 17:40:00 5
如何來統計任意一段日子裡的考勤情況 ,如下效果:相當於把checkinout表翻轉過來
使用者id 上午簽到次數 上午簽退次數 下午簽到次數 下午簽退次數
1 10 10 10 9
2 10 10 10 10
下面給出我的解決方案:
通過迴圈每乙個人的userid,checktype,timeflag
如上午簽到的次數:
create function getshangwuin(@userid as int)
returns int as
begin
declare @counts int
select @counts = count(*) from checkinout2 where userid=@userid and checktype='i' and timeflag='4'
return (@counts)
end請教給出更好的解決方案,最好通過一條語句把它搞定
把mysql查詢結果儲存到檔案的shell指令碼
該指令碼是先刪除已經存在的檔案,然後後台執行sql語句將其執行結果以一定的格式寫入檔案 複製 如下 程式設計客棧 bin bas程式設計客棧h if f www.cppcns.comvar lib mysql hell.txt then rm f var lib mysql hell.txt ech...
Mysql查詢結果亂碼
檢視mysql資料庫伺服器和資料庫字符集 檢視表中所有列的字符集 檢視表的字符集 檢視mysql所支援的字符集 修改全域性字符集 set character set connection utf8 set character set database utf8 set character set r...
MYSQL 動態查詢結果
今天遇到乙個需求需要把這樣的 轉化為這樣的 第一張圖是從臨時表來的,也就是第二個圖的列名是不固定的,如果列名是固定的就是乙個簡單的行轉列,但是現在列名不固定,我們必須使用動態的行轉列,完成這個裝換我們需要使用兩個知識點 1.使用動態語句執行sql set sql concat create temp...