【发布时间】:2017-08-07 21:30:33
【问题描述】:
我的表结构如下:
Id | TransNbr | Type |
-------+----------+------+
1235 | 220 | A |
1236 | 221 | A |
1237 | 220 | A |
1238 | 220 | B |
1239 | 221 | B |
我需要在此表中添加一个新列,以指示这是否是 A 类型的第一个 TransNbr。
我能够使以下SELECT 查询工作...但我不确定现在如何将新填充FirstTime 列添加到INVOICE 表:
SELECT
*,
CASE
WHEN (ROW_NUMBER() OVER(PARTITION BY TransNbr ORDER BY Id)) = 1
THEN 1
ELSE 0
END FirstTime
FROM INVOICE
WHERE Type = 'A'
【问题讨论】:
-
您的代码似乎与“指示这是否是 A 型的第一个 TransNbr”无关。您希望它识别哪些行?
标签: sql sql-server row-number