簡體   English   中英

在字段上旋轉?

[英]Pivoting on a field?

我使用IBM DB2 SQL。

這是我當前的查詢:

select 
EXSHPE as "Shape",
EXDLVY as "Delivery",

  Sum(Case When EXSURF = 'Print' Then EXRLTO Else 0 End) As Retail_Print,
  Sum(Case When EXSURF = 'Pattern' Then EXRLTO Else 0 End) as Retail_Pattern,
  Sum(Case When EXSURF = 'Solid' Then EXRLTO Else 0 End) As Retail_Solid,
  Sum(Case When EXSURF = 'UnknownA' Then EXRLTO Else 0 End) as Retail_UnknownA,
  Sum(Case When EXSURF = 'UnknownB' Then EXRLTO Else 0 End) As Retail_UnknownB,
  Sum(Case When EXSURF = 'UnknownC' Then EXRLTO Else 0 End) as Retail_UnknownC,

  Sum(Case When EXSURF = 'Print' Then EXWHLO Else 0 End) As Wholesale_Print,
  Sum(Case When EXSURF = 'Pattern' Then EXWHLO Else 0 End) as Wholesale_Pattern,
  Sum(Case When EXSURF = 'Solid' Then EXWHLO Else 0 End) As Wholesale_Solid,
  Sum(Case When EXSURF = 'UnknownA' Then EXWHLO Else 0 End) as Wholesale_UnknownA,
  Sum(Case When EXSURF = 'UnknownB' Then EXWHLO Else 0 End) As Wholesale_UnknownB,
  Sum(Case When EXSURF = 'UnknownC' Then EXWHLO Else 0 End) as Wholesale_UnknownC,

  Sum(Case When EXSURF = 'Print' Then EXUNTO Else 0 End) As Units_Print,
  Sum(Case When EXSURF = 'Pattern' Then EXUNTO Else 0 End) as Units_Pattern,
  Sum(Case When EXSURF = 'Solid' Then EXUNTO Else 0 End) As Units_Solid,
  Sum(Case When EXSURF = 'UnknownA' Then EXUNTO Else 0 End) as Units_UnknownA,
  Sum(Case When EXSURF = 'UnknownB' Then EXUNTO Else 0 End) As Units_UnknownB,
  Sum(Case When EXSURF = 'UnknownC' Then EXUNTO Else 0 End) as Units_UnknownC,

  Sum(Case When EXSURF = 'Print' Then EXAURA Else 0 End) As Actual_AUR_Print,
  Sum(Case When EXSURF = 'Pattern' Then EXAURA Else 0 End) as Actual_AUR_Pattern,
  Sum(Case When EXSURF = 'Solid' Then EXAURA Else 0 End) As Actual_AUR_Solid,
  Sum(Case When EXSURF = 'UnknownA' Then EXAURA Else 0 End) as Actual_AUR_UnknownA,
  Sum(Case When EXSURF = 'UnknownB' Then EXAURA Else 0 End) As Actual_AUR_UnknownB,
  Sum(Case When EXSURF = 'UnknownC' Then EXAURA Else 0 End) as Actual_AUR_UnknownC,

  Sum(Case When EXSURF = 'Print' Then EXMERA Else 0 End) As Merch_AUR_Print,
  Sum(Case When EXSURF = 'Pattern' Then EXMERA Else 0 End) as Merch_AUR_Pattern,
  Sum(Case When EXSURF = 'Solid' Then EXMERA Else 0 End) As Merch_AUR_Solid,
  Sum(Case When EXSURF = 'UnknownA' Then EXMERA Else 0 End) as Merch_AUR_UnknownA,
  Sum(Case When EXSURF = 'UnknownB' Then EXMERA Else 0 End) As Merch_AUR_UnknownB,
  Sum(Case When EXSURF = 'UnknownC' Then EXMERA Else 0 End) as Merch_AUR_UnknownC

from EXOWMSPD
Where (EXCO || '/' || EXDIV)  = ?
Group By
  EXSHPE,
  EXDLVY
Order By
  EXSHPE DESC,
  EXDLVY DESC

數據庫如下所示: 在此處輸入圖片說明

我需要透視Surface,但要動態。 問題是,我只知道前3個表面描述。 但是我需要准備最多6個。

有沒有辦法讓我動態地旋轉它來抓取前6個曲面。

例,

RETAIL_DOLLARS_1   10.00
RETAIL_DOLLARS_2   20.00
RETAIL_DOLLARS_3   50.00
RETAIL_DOLLARS_4   0.00
RETAIL_DOLLARS_5   0.00
RETAIL_DOLLARS_6   0.00

在此示例中,找到了3個曲面的數據,我想用0填充其他3個曲面的數據。

我正在使用它進行報告,並且將隱藏SURFACE_DESCRIPTION_X等於“”的列。

有沒有辦法做到這一點?

謝謝

如果您想對各個維度的數據進行多維數據集處理,請嘗試

 GROUP BY CUBE

條款

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM