0
大学の大規模なOracleデータベース用にさまざまなSQLクエリを書いています。出力は利用可能な度合いと関連情報のリストです。Oracleデータセットの「バージョン」列に基づいて行の違いを表示するにはどうすればよいですか?
私は今、バージョン間で変更されたかを示すための方法を見つける必要がある(「バージョン」と呼ばれる列に基づいています。データが変更されたときに新しいバージョンが作成されます)私は出力に基づいて、違いを強調するかもしれませんどのようにクエリでの私の選択の?あなたが見ることができるように、私はテーブルのさまざまな方法を使ってすることがあります
SELECT -- DETAILS b.programmeid, b.programmecode AS course_udc, b.programmeversion AS version, b.externalversion AS external_version, b.programme AS full_title, -- OUTCOMES b.programmeoutcomeid AS outcome_number, b.outcomedesc AS outcome_description, b.programmeoutcometypeid AS graduate_attribute_link FROM ( SELECT -- DETAILS a.programmeid, a.programmecode, a.programmeversion, a.externalversion, a.programme, -- OUTCOMES a.programmeoutcomeid, a.outcomedesc, a.programmeoutcometypeid FROM document_application.dmn_domains d, ( SELECT -- DETAILS ed.dmn_cuid, p.programmeid, p.programmecode, p.programmeversion, p.externalversion, p.programme, -- OUTCOMES plo.programmeoutcomeid, (dbms_lob.substr(pso.suboutcomedesc,4000,1)) AS outcomedesc, plo.programmeoutcometypeid FROM document_application.programmes p INNER JOIN document_application.edm_entitydomains ed ON p.cuid = ed.entitycuid -- Join with EDM_ENTITYDOMAINS INNER JOIN document_application.programmeoutcomes plo ON p.programmeid = plo.programmeid -- Join with PROGRAMMEOUTCOMES INNER JOIN document_application.programmesuboutcomes pso ON plo.programmeoutcomeid = pso.suboutcomeid -- Join with PROMGRAMMESUBOUTCOMES WHERE p.programmecode IN ( SELECT p.programmecode FROM document_application.programmes p GROUP BY p.programmecode HAVING COUNT(*) > 1 ) AND ed.ett_code = 'P' ) a WHERE a.dmn_cuid = d.cuid ) b ORDER BY course_udc, version
:
は、これは私が一例として示すことができる最小のクエリです。 b.programmeversionはバージョン間の変更を表示する必要があるバージョンの列です。
これは、1つのバージョンと他の間の変更を示すために出力 output
サンプルデータと予想される結果セットを投稿してください。 – XING
ほとんど無限の可能性のある範囲を含むことができるケース式などのさまざまなデバイスがあります。詳細を知りたい場合は、まず詳細を提供する必要があります。現在のクエリやサンプルデータはどうやって始めるのですか? –
あなたも見ているテーブルの定義を投稿できますか? –