私はここで少しの検索をしましたが、答えが出ないので、これが可能かどうか尋ねたいと思っていました...このMysql条件付き結合は可能ですか?
データベースのフィールドの値に基づいて条件付き結合を作成したいとします。たとえば、値が1の場合は、値が2の場合は1つの表を結合し、別の表を結合します。ここで
は、私が仕事をしなければならないいくつかのサンプルデータです:
Templates Table
template_id name type
1 Email Template 1
2 Page Template 2
Email Templates Table
template_id email_subject email_body
1 test test
Page Templates Table
template_id page_title page_desc
2 test page testing
だから、テンプレートテーブルには、すべての汎用テンプレート情報が含まれており、他のテーブルには、テンプレートの種類に固有の情報をcontins。
条件付きのmysql結合を作成することができます。テンプレートテーブルの型が1の場合は電子メールテーブルから、型が2の場合はページテーブルから結合しますか?
もし誰かがテンプレートのより良いデータベースデザインを提案できないのですか?
ご協力いただければ幸いです。
おかげ
いつもFULL OUTTER JOINを実行できます。 3つのテーブルを結合すると、3つのテーブルすべてのデカルト積で終わることになりますが、最終的には巨大になることがあります。 – Suroot
私はちょうどテストした答えをありがとう、それはうまく動作します。私はこのクエリとデータベース設計に固執することを提案するか、これを行うためのより効率的な方法がありますか? –