(設計が不適切な) SQL データベースから新しいデータ抽出を作成しようとしています。顧客は、NEWID() 関数を使用して実行しようとしている個別の識別子を追加することを要求しています。残念ながら、これにより複数の重複レコードが返されます。
少し調査した結果、NEWID() 関数は実際に、distinct キーワードの使用を「元に戻す」ことがわかりましたが、これを克服する理由や方法がわかりません。
私が書こうとしているクエリの例は次のとおりです。
select distinct
NEWID() as UUID
,Histo_Results_File.ISRN
,Histo_Results_File.Internal_Patient_No
,Histo_Results_File.Date_of_Birth
,Histo_Result_freetext.histo_report
,Histo_Report.Date_Report_Updated as [Investigation_Result_Date]
from apex.Histo_Results_File
inner join apex.Histo_Report on (Histo_Report.Histo_Results_File = Histo_Results_File.ID)
選択ブロックの NEWID() 行を見逃した場合、569 件のレコードが返されますが、これは正しいのですが、その行を含めると 30,000 件を超えてしまい、元の 569 件とすべて重複していますが、ID が異なります。誰でもこの問題を回避する方法を提案できますか?
前もって感謝します