さまざまなテーブル (合計 5 つのテーブル) から列を取得するクエリを作成する必要があります。左結合の要点を把握できて満足しています。必要な結果が得られました。唯一の問題は速度です。おそらく私のケースは、オンラインで読んでいるすべての例とは異なるため、インデックス/キーについて少し迷っています。私のテーブル全体の「一意の」IDは、すべてのテーブルの主キーではなく、そのIDがテーブルに複数の行を持つ可能性があるため(履歴/監査目的)、できません。ID もいくつかのテーブル (##/### および ##-###) で異なる形式であるため、それらを照合する関数が大幅な速度低下を引き起こしている可能性があります。これまでのコードを貼り付ける方が簡単かもしれません (テーブルは 3 つだけです。最初に 3 つを征服するまですべてを実行する必要はありません)。
SELECT dc.URN,dc.GuideName,dc.GuideStreet,ss.categorycalc,pm.initiatedate
FROM dc
LEFT JOIN pm
ON dc.URN = pm.URN
LEFT JOIN ss
ON dc.URN = replace(ss.URN,"/","-")
WHERE dc.GuidePCode LIKE 'WA9%'
ORDER BY pm.Status ASC;
データベースを最初からやり直して「適切に実行する」などのアドバイスはあまりありません。特定の方法で特定のテーブルにデータを挿入するようにコーディングされたプログラムがすでにたくさんあります。そのため、一意の ID の構造や特定のテーブルへの書き込み方法を変更することは非常に現実的ではありません。すでに取得したデータのこのレポートを作成することに集中する必要があります。「WA9」の部分は、ユーザーが何を検索したいかによって変わります。