0
CTEを使用してファイルのリストで最新のファイルを取得しようとしています。これまでのところ私はこれを持っている:CTEパーティションが正しい行番号を返さない - TSQL
WITH CTE AS
(
SELECT
ID, TRISPATH, Document,
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Document) AS RN
FROM
LinkedDocuments
)
SELECT
ID, Document, RN
FROM
CTE
WHERE
TRISPATH IS NOT NULL --AND RN!=1
それは私が欲しいものを返すIDの一部で動作しているようですが、しかし、それらのいくつか(約30%)が1で起動しません、彼らは乱数で開始しますIDに基づいて:
14 J:\PRS\CVs\Original CVs\2015\N\*****, ***** CL Oct 15.txt 11
14 J:\PRS\CVs\Original CVs\2015\N\*****, ***** CV Nov 15.pdf 12
14 J:\PRS\CVs\Original CVs\2015\N\*****, ***** CV Oct 15.docx 13
私はこれが起こっている理由を理解するように見えるカント、私はその何かがパーティションで行うことが確信しているが、私は何を把握することはできません。
あなたが日付で各パーティションを注文する方法を見つける必要があります。行番号はCTEにWHERE句を移動し、1から始まるようにするには
。文書日付のタイムスタンプ列はありますか? –
理想的には、このデータベースは本当にひどく設計されていますが、この表の唯一の列はID(ドキュメントがリンクされている人に関連しています)、Document Type(3の値の1つ)、Documentです。それらのほとんどは上記のフォーマットではありますが、すべてではありません。 –
すべての文書は 'CV Nov 15.ext'で終わりますか? –