我的SQL Server 2008 R2数据库中有一个表,该表有一个不同的行,其中一列在其他表中有多行。我正在寻找的是一个更新查询,它将成为存储过程的一部分。
我试图为每一行都有一个10的计数器,这将重复(见下面的例子)
Load_Id Counter Description
===========================
C60000220121102134421 1 Text for Counter 1
C60000220121102134421 2 Text for Counter 2
C60000220121102134421 3 Text for Counter 3
C60000220121102134421 4 Text for Counter 4
C60000220121102134421 5 Text for Counter 5
C60000220121102134421 6 Text for Counter 6
C60000220121102134421 7 Text for Counter 7
C60000220121102134421 8 Text for Counter 8
C60000220121102134421 9 Text for Counter 9
C60000220121102134421 10 Text for Counter 10
这是我到目前为止所做的。
我有一个用计数器创建表的查询,但我似乎无法查询查看T_DB_CLIENT_INFO表中每一行的查询,并添加10行,计数器为1-10,以便描述可以绑定到每个值。
SELECT DISTINCT
c.LOAD_ID,
ROW_NUMBER() OVER (ORDER BY c.LOAD_ID) AS COUNTER,
b.STATUS_DESCRIPTION,
c.CLNT_NM, c.CLIENT_ID, c.DATABASE_NAME, c.FLAG_FILTERED,
s.[ROUND]
INTO
dbo.[load_id_counts]
FROM
T_DB_CLIENT_INFO c
JOIN
T_ICR_STAGING s ON c.LOAD_ID = s.LOAD_ID
JOIN
overall_status_description b ON COUNTER = b.COUNTER
答案 0 :(得分:0)
在您的情况下,%运算符的语法将是这样的:
SELECT DISTINCT
c.LOAD_ID,
((ROW_NUMBER() OVER (ORDER BY c.LOAD_ID) -1) % 10) + 1 AS COUNTER,
...
INTO dbo.[load_id_counts]
FROM T_DB_CLIENT_INFO c
...
只需使用%运算符即可为0提供数字,但您希望编号从1开始,这就是您添加-1
和+1
的原因。