如何使用與 2021-2022 賽季對應的 BornDateKey 欄位更新具有相同 PlayerName 和 PlayerCode 但不同季節值的 T-SQL 記錄。我想做的輸入輸出如下。
輸入:
| 選手姓名 | 玩家代碼 | 季節 | 出生日期鍵 |
|---|---|---|---|
| 萊昂內爾·梅西 | d70ce98e | 2020-2021 | |
| 萊昂內爾·梅西 | d70ce98e | 2021-2022 | 19870624 |
| 羅伯特·萊萬多夫斯基 | 8d78e732 | 2020-2021 | |
| 羅伯特·萊萬多夫斯基 | 8d78e732 | 2021-2022 | 19880821 |
輸出(預期):
| 選手姓名 | 玩家代碼 | 季節 | 出生日期鍵 |
|---|---|---|---|
| 萊昂內爾·梅西 | d70ce98e | 2020-2021 | 19870624 |
| 萊昂內爾·梅西 | d70ce98e | 2021-2022 | 19870624 |
| 羅伯特·萊萬多夫斯基 | 8d78e732 | 2020-2021 | 19880821 |
| 羅伯特·萊萬多夫斯基 | 8d78e732 | 2021-2022 | 19880821 |
uj5u.com熱心網友回復:
使用可更新的 CTE:
WITH cte AS (
SELECT *, MAX(BornDateKey) OVER (PARTITION BY PlayerCode) AS MaxBornDateKey
FROM yourTable
)
UPDATE cte
SET BornDateKey = MaxBornDateKey
WHERE BornDateKey IS NULL;
如果您想以這種方式查看資料,則只需從上述 CTE 中選擇并MaxBornDateKey用作BornDateKey值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/380116.html
標籤:sql sql-server 查询语句
