首页 > 解决方案 > 如何动态跳过顶行 SQL

问题描述

我一直在试图弄清楚如何动态地跳过行并使用departmentIDanddepartmentName而不是从该表创建一个新表unnamed_1and unnamed_2。我正在尝试使程序自动采用其中包含departmentNameanddepartmentID的任何行。我已经包含了图片以供参考。

编辑:主要问题是我正在尝试找到一种方法来自动将其替换到它替换的位置,unnamed_1_2使用这些departmentID和名称,而无需我除了运行程序之外修改选项。 在此处输入图像描述

标签: sqlsql-servertsqlsql-server-2019

解决方案


看看这个,可能会有所帮助:

SELECT departmentId, departmentName FROM
(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RowNumber, 
    C.RowNumber AS RowLimit, 
    B.Unamed_1 AS departmentId, 
    B.Unamed_2 AS departmentName 
FROM [WhatEverTableItIs] AS B
INNER JOIN (
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RowNumber,
        Unamed_1, 
        Unamed_2 
    FROM [WhatEverTableItIs]) AS C 
ON C.Unamed_1 = 'departmentID' AND C.Unamed_2 = 'departmentName') A
WHERE RowNumber > RowLimit

它将在具有departmentIDasUnamed_1departmentNameas的行上将表与自身连接起来Unamed_2。它计算行号并将其用作键(就像主键一样),然后过滤行号小于我们加入表的特定行号的行。


推荐阅读