私は知的財産管理システムに取り組んでいます。私はデータベースに2つのテーブルを持っています - 商標とデザイン。MySQLの条件付きテーブル名はJOIN
私は野党のようなものを持っています。つまり、他の誰かが商標やデザインを持っていれば、私たちのクライアントのように見えますが、マネージャーは新しい異議を唱えることができます。
商標:
id
name
デザイン:
id
name
oppostion:
id
name
object_id
object_table
私にはわからない、と
例えば、私は3つのテーブルを持っていますどのようなテーブルの反対はrelaですテッドは、私は、クエリのような種類にする可能性を持っている必要があります。
SELECT id, name, opposition_object.name FROM opposition
LEFT JOIN (trademark|design) as opposition_object on opposition.object_id = (trademark|design).id
まず、私は反対テーブルのobject_table列としてテーブル名を格納について考えたが、その後、私はそれがされる場合、私は知りません実現しました表名を照会することが可能であり、まず第一に、それは間違って悪い設計です。
しかし、私はここで打たれて何も私の心に来る。それで誰もそれをどう扱うか考えていますか? trademark
テーブルを結合し1つずつがdesign
に参加:
おかげで、これは私が探していたまさにです! –
@KuHまた、私の答えのクエリとパフォーマンスを比較してください。私は完全にはわかりませんが、同じ結果を返すクエリがより速くなければならないと感じています。 –
@KuH:問題ありません。あなたが良いと思う答えに投票してください。それは私たちに暖かいぼやけた感じを与えます:P。 – Arion