0

テーブルノードがあります。その特定のノードタイプの同じ ID 番号を同じ範囲 (たとえば 1 から 9999) にし、別のノードタイプを 1000 から 1999 の別の範囲にする必要があります。これを行う方法の例を教えてください。これは SQL クエリです。

4

1 に答える 1

1
DECLARE @T TABLE (NODEDE_ID BIGINT)

INSERT INTO @T VALUES
(170999000),
(172677777),
(177333335)

;WITH CTE AS
(
    SELECT NODEDE_ID,ROW_NUMBER() OVER (ORDER BY NODEDE_ID) [ROW_NUM]
    FROM @T
)
SELECT NODEDE_ID,
CAST(CASE WHEN (ROW_NUM > 1)
          THEN (ROW_NUM - 1) * 1000
          ELSE 1 
      END AS VARCHAR) + ' to ' +
CAST(CASE WHEN (ROW_NUM > 1)
          THEN ((ROW_NUM - 1) * 1000) + 999
          ELSE 999 
      END AS VARCHAR) [RANGE]
FROM CTE
于 2012-12-05T11:13:03.747 に答える