我正在尋求幫助以根據其他列中的條件和日期范圍 = 2022.01.12 拆分列
這是my_table示例:
| 日期 | 區域 | 移動 | 數量 | 物品 |
|---|---|---|---|---|
| 01.12 7:00 | L1a | 在 | 1 | 專案1 |
| 01.12 7:00 | L2 | 出去 | 2 | 專案1 |
| 01.12 7:01 | L1b | 在 | 1 | 專案2 |
| 01.12 7:01 | L02 | 出去 | 2 | 專案2 |
| 01.12 7:02 | L1a | 在 | 5 | 專案1 |
| 01.12 7:02 | L02 | 出去 | 7 | 專案1 |
| 01.12 7:03 | L1 | 在 | 1 | 第 3 項 |
| 01.12 7:03 | L2 | 出去 | 1 | 第 3 項 |
預期結果 :
| 日期 | area_in | 搬進 | 數量 | area_out | 搬出去 | 數量 | 物品 |
|---|---|---|---|---|---|---|---|
| 01.12 | L1a | 在 | 1 | L2 | 出去 | 2 | 專案1 |
| 01.12 | L1b | 在 | 1 | L02 | 出去 | 2 | 專案2 |
| 01.12 | L1a | 在 | 5 | L02 | 出去 | 7 | 專案1 |
| 01.12 | L1 | 在 | 1 | L2 | 出去 | 1 | 第 3 項 |
期待您的幫助。
謝謝,大衛
uj5u.com熱心網友回復:
我是該資料的一個非常簡單的支點
但如果時間不適合,你仍然需要一個更好的團體價值
SELECT
[date],
MAX(CASE WHEN [move] = 'in' THen [area] ELSe NULL END) area_in,
MAX(CASE WHEN [move] = 'in' THen [move] ELSe NULL END) move_in,
MAX(CASE WHEN [move] = 'in' THen [qty] ELSe NULL END) qty_in,
MAX(CASE WHEN [move] = 'out' THen [area] ELSe NULL END) area_out,
MAX(CASE WHEN [move] = 'out' THen [move] ELSe NULL END) move_out,
MAX(CASE WHEN [move] = 'out' THen [qty] ELSe NULL END) qty_out
, [item]
FROM tab1
GROUP BY [date], [item]
ORDER By [date]
| 日期 | area_in | 搬進 | 數量 | area_out | 搬出去 | qty_out | 物品 |
|---|---|---|---|---|---|---|---|
| 01.12 7:00 | L1a | 在 | 1 | L2 | 出去 | 2 | 專案1 |
| 01.12 7:01 | L1b | 在 | 1 | L02 | 出去 | 2 | 專案2 |
| 01.12 7:02 | L1a | 在 | 5 | L02 | 出去 | 7 | 專案1 |
| 01.12 7:03 | L1 | 在 | 1 | L2 | 出去 | 1 | 第 3 項 |
Warning: Null value is eliminated by an aggregate or other SET operation.
小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/531942.html
標籤:sqlsql服务器
下一篇:僅選擇每組sql的最大值
