這是我的測驗環境
select * from dbo.fact1
| IdRecordRedcap | FechaRegistro | TotalPruebas | 總PruebasPositivas |
|---|---|---|---|
| 1 | 2022-01-06 | 510 | 384 |
| 2 | 2022-01-07 | 300 | 184 |
select * from dbo.DimMeasures
| IdDimMeasures | 名稱Measure |
|---|---|
| 1 | TotalPruebas |
| 2 | 總PruebasPositivas |
到目前為止,我能夠運行包含該UNPIVOT程序的查詢,但我需要加入它,dbo.DimMeasures以便我可以獲得IdDimMeasures每個NameMeasure
--UNPIVOT dbo.fact1
SELECT u.FechaRegistro,
u.NameMeasure,
u.ValueMeasure
FROM dbo.fact1 as x
UNPIVOT
(
ValueMeasure
for NameMeasure IN
(
TotalPruebas,
TotalPruebasPositivas
)
) AS u
GO
| FechaRegistro | 名稱Measure | 價值衡量 |
|---|---|---|
| 2022-01-06 | TotalPruebas | 510 |
| 2022-01-06 | 總PruebasPositivas | 384 |
| 2022-01-07 | TotalPruebas | 300 |
| 2022-01-07 | 總PruebasPositivas | 184 |
db<>小提琴
uj5u.com熱心網友回復:
SELECT u.FechaRegistro,
u.NameMeasure,
u.ValueMeasure,
m.IdDimMeasures
FROM dbo.fact1 as x
UNPIVOT
(
ValueMeasure
for NameMeasure IN
(
TotalPruebas,
TotalPruebasPositivas
)
) AS u
LEFT OUTER JOIN dbo.DimMeasures AS m
ON m.NameMeasure = u.NameMeasure;
輸出:
| FechaRegistro | 名稱Measure | 價值衡量 | IdDimMeasures |
|---|---|---|---|
| 2022-01-06 | TotalPruebas | 510 | 1 |
| 2022-01-06 | 總PruebasPositivas | 384 | 2 |
| 2022-01-07 | TotalPruebas | 300 | 1 |
| 2022-01-07 | 總PruebasPositivas | 184 | 2 |
- 示例db<>fiddle(謝謝!)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410545.html
標籤:
上一篇:創建一個顯示以前費率的列
