0
特定のIDの2番目の行を取得するスクリプトを生成しようとしています。 私の最初のクエリは正しく行います。私はIDのリストを入れようとすると、1つの結果しか得られません。行番号を使用してSQLクエリからリストを生成する
複数の結果を表示するには、更新クエリを調整する必要がありますか?
オリジナルクエリ
;WITH YourTable AS(
SELECT TOP 2
EHistory.*,
ROW_NUMBER() over (order by SignonDate desc) as RowNumber
FROM
EHistory
LEFT JOIN EShip
ON EHistory.ShipCode = EShip.ShipCode
WHERE EHistory.EmployeeID = 123456 and IsTRProcessed = 1
)
SELECT * FROM YourTable WHERE RowNumber = 2;
正しい更新クエリは
;WITH YourTable AS(
SELECT TOP 2
EHistory.*,
ROW_NUMBER() over (order by SignonDate desc) as RowNumber
FROM
EHistory
LEFT JOIN EShip
ON EHistory.ShipCode = EShip.ShipCode
WHERE EHistory.EmployeeID IN (123456,234567,345678) and IsTRProcessed = 1
)
SELECT * FROM YourTable WHERE RowNumber = 2;
のみまだ
を1つの結果を生成している1つの結果を生成します
複数の結果を表示できるように修正する必要があると考えるのは苦労しています。
サンプルの結果が生成する必要があります。オーバーROW_NUMBER()(...によるパーティション)とのことで
<table>
<th>ID</th><th>Ship</th>
<tr>
<td>123456</td><td>Ship 1</td>
</tr>
</table>
<table>
<th>ID</th><th>Ship</th>
<tr>
<td>123456</td><td>Ship 1</td>
</tr>
<tr>
<td>234567</td><td>Ship 2</td>
</tr>
<tr>
<td>345678</td><td>Ship 3</td>
</tr>
</table>
、サンプルデータと予想される出力を指定します。 – Mansoor
@Mansoorがそれを手に入れました。サンプルデータと期待される出力を追加します – marchemike