資料庫中多條不同資料的統計時組織成一張表

2021-06-03 20:55:46 字數 1571 閱讀 8054

今天在做資料庫的儲存過程的時候碰到了乙個問題,我想對資料庫中多天不同類別的資料量分別進行統計後一起傳出來,剛開始我寫的是以下sql語句:

select count(*) as waitwork from

suds_work_submit where file_mark=0 and staff_id=(select userid from accounts_users where username=@staffname)

select count(*) as finishedwork from

suds_work_submit where file_mark=3 and staff_id=(select userid from accounts_users where username=@staffname)

select count(*) as waitcheck from

suds_work_submit where file_mark=1 and staff_id=(select userid from accounts_users where username=@staffname)

select count(*) as backwork from

suds_work_submit where file_mark=2 and staff_id=(select userid from accounts_users where username=@staffname)

end這段**在執行時並沒有錯誤,但資料傳出去的時候並不是以一張表的形式傳出去的,而是以多張表的形式,這樣就會造成無法將這些統計的多個資料量轉換成datatable表,從而會導致列名在資料表中無效,解決辦法將這幾個統計資料量組織成一張表的形式傳出來。改進後的sql語句如下:

select (select count(*) as waitwork from

suds_work_submit where file_mark=0 and staff_id=(select userid from accounts_users where username=@staffname)) as  waitwork,

(select count(*) as finishedwork from 

suds_work_submit where file_mark=3 and staff_id=(select userid from accounts_users where username=@staffname)) as finishedwork,

(select count(*) as waitcheck from

suds_work_submit where file_mark=1 and staff_id=(select userid from accounts_users where username=@staffname)) as waitcheck,

(select count(*) as backwork from

suds_work_submit where file_mark=2 and staff_id=(select userid from accounts_users where username=@staffname)) as backwork

end

不同資料庫的資料插入

1.同一伺服器不同資料庫表的資料插入 insert into gduapdev3.dbo.tbltmtasklist select from uap2.dbo.tbltmtasklist 表結構相同的情況 2.不同伺服器的資料庫表的資料插入 sql server2005中要先鏈結伺服器才執行sql ...

不同資料庫的連線

mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name useunicode true characterencoding utf 8 連線的url,db name為資料庫...

不同資料庫分頁

oracle分頁 分頁的宗旨是控制查詢出來的資料個數,下面這條語句對於oracle分頁已經足夠了。注 該語句只能用於oracle select from select aa.rownum rn from select from users order by id desc aa where rown...