行列轉化及合併

產品 , 數量 , 箱號
  A , 2 , 1
  A , 2 , 2
  A , 2 , 3
  B , 1 , 4
  B , 1 , 4
  C , 3 , 5
  C , 3 , 6

查詢結果需要將箱號統計出來:如
  產品 , 數量 , 箱號範圍 , 箱數
  A , 6 , 1-3 , 3
  B , 2 , 4 , 1
  C , 6 , 5-6 , 2

select 產品, 數量=sum(數量), 箱號範圍=case when max(箱號)=min(箱號) then convert(varchar(20),max(箱號))

else convert(varchar(20),min(箱號))+'-'+convert(varchar(20),max(箱號)) end, 箱數=max(箱號)-min(箱號)+1

from B_HP

group by 產品

order by 產品

 

-----------------------------------------------------------------------------------------------------------------------------------------------

表結構和內容如下i

d ptah uid3

fa_q.jpg 2655

aa_s.jpg 2659

ad_s.jpg 26513

ca_q.jpg 26615

fd_s.jpg 26632

ja_q.jpg 267

文件名有兩種類型_q.jpg和_s.jpg,希望求得結果是_q.jpg的文件名和_s.jpg的文件數量如下

fa_q.jpg   2  265

ca_q.jpg  1  266

ja_q.jpg   0  267

 

 

select t1.ptah,(select COUNT(*) from #tb t2 where RIGHT(t2.ptah,6)='_s.jpg' and t2.[uid]=t1.[uid]) as num,t1.[uid] from #tb t1where RIGHT(t1.ptah,6)='_q.jpg'

 

select a.[ptah],count(b.[ptah]) as cnt,a.uidfrom tb aleft join tb b on a.uid=b.uid and b.[ptah] like '%_s.jpg'where a.[ptah] like '%_q.jpg'group by a.[ptah],a.uid

發佈了5 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章