どのテーブルから追加情報を取得するかを決定するために使用される「フラグ」として機能する列を含むテーブルがあります (つまり、値 1 は table1 から取得し、2 は table2 から取得するなど)。通常、インデックス/キーを使用してテーブルに参加するだけです。ただし、結合できるテーブルには、個別のテーブルに正規化できる情報が含まれていたため、列を使用して結合するテーブルを決定するという状況に陥りました。
ここで私の質問です。この列で生成された値に基づいて異なるテーブルを結合する最も効率的な方法は何ですか?
現在、このタスクを達成する方法を私が知っている2つの方法を次に示します。どちらも最適なソリューションではないと確信しています。
メイン テーブル (結合するテーブルを決定する列の値を含む) から情報を取得し、アプリケーションのコードを通じて追加のクエリを送信して、残りの情報を取得します。
夢中になって、すべてのテーブルの列を返します(未使用であっても)。次に、コードを使用して、不要なテーブルの null を無視します。