亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

復雜的數據庫查詢(銷售統計分析)問題

復雜的數據庫查詢(銷售統計分析)問題

繁星點點滴滴 2018-12-07 10:10:58
表 a: 員工銷售統計表 部門 工號 姓名 負責地區 銷售金額 部門一 001 員工一 北京 2 部門一 002 員工二 上海 3 部門一 003 員工三 上海 4 部門一 003 員工三 上海 5 部門二 004 員工四 北京 6 部門二 004 員工四 北京 7 部門二 005 員工五 上海 8 ?? /********************結果效果圖*********************************/ ?按部門統計結果: 部門:部門一 工號 姓名 上海 北京 數量 金額 數量 金額 001 員工一 0 0 1 2 002 員工二 1 3 0 0 003 員工三 2 9 0 0 部門:部門二 工號 姓名 上海 北京 數量 金額 數量 金額 004 員工四 0 0 2 13 005 員工五 1 8 0 0 使用sql查詢員工銷售統計表(表 a)中的數據,返回一個按照部門和地區銷售業績的結果并且能在gridview或repear 控件中綁定的結果。
查看完整描述

9 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

NID?      NUMBER?Y???    ?? 工號ID
NNAME?    VARCHAR2(20)?Y???  員工姓名
NPART?    NUMBER?Y???    ??? 所屬部門
ADDRESS?  VARCHAR2(20)?Y???   地址
NMOENY?  sNUMBER?Y???    ??? 金額

?

Select NID,NName,sum(NMoeny) from ABC Where NPart=部門 Group by Address,NID,NName

查看完整回答
反對 回復 2019-01-21
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

  你沒說這些員工屬于什么部門是怎么區分的?。?/p>

查看完整回答
反對 回復 2019-01-21
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

表中的數據用顏色區分了,每一個員工都對應有自己的部門,第一個字段就是部門。
查看完整回答
反對 回復 2019-01-21
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

想完全達到你的顯示結果僅僅靠sql是實現不了的,你這個能夠做的就是用動態sql統計出按照部門分組的數據。

查看完整回答
反對 回復 2019-01-21
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

可以根據查詢條件動態生成sql語句,不過這樣就沒有辦法利用sql緩存,如果數據量比較大就會很慢。

建議:

根據不同的查詢條件,比如按部門統計,按員工統計,按地區統計等等情況,分別創建相應的存儲過程,然后在程序中判斷用戶選擇的查詢條件,確定調用哪個存儲過程來執行查詢。

查看完整回答
反對 回復 2019-01-21
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

需要的是所有的查詢條件都同時具備,不是單個查詢條件。
查看完整回答
反對 回復 2019-01-21
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

下面是按只有兩個地區的sql ,如果超出兩個地區,我想只能在存儲過程里寫了

select gonghao,max(xingming) xingming ,max(cnum) cnum,max(sjine) sjine,min(cnum) mnum,min(sjine) mjine from
(SELECT diqu, gonghao,max(xingming) as xingming,count(gonghao) as cnum,sum(jine) as sjine
? FROM [SCTest].[dbo].[test1]
where bumen = 1
group by gonghao,diqu) as tab1
group by gonghao

表:

1?? ?1?? ?name1?? ?dress1?? ?5
1?? ?1?? ?name1?? ?dress1?? ?2
1?? ?1?? ?name1?? ?dress2?? ?6
2?? ?2?? ?name2?? ?dress1?? ?6
2?? ?2?? ?name2?? ?dress2?? ?2
2?? ?2?? ?name2?? ?dress2?? ?3
1?? ?3?? ?name3?? ?dress1?? ?9
1?? ?3?? ?name3?? ?dress2?? ?10

結果:

1?? ?name1?? ?2?? ?7?? ?1?? ?6
3?? ?name3?? ?1?? ?10?? ?1?? ?9

查看完整回答
反對 回復 2019-01-21
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

那就只能寫存儲過程,用游標循環,建臨時表,最后反回臨時表內容
查看完整回答
反對 回復 2019-01-21
  • 9 回答
  • 0 關注
  • 578 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號