私は知的財産管理システムに取り組んでおり、データベースに商標とデザインの 2 つのテーブルがあります。
それから私は反対のようなものを持っています。これは、他の誰かが商標またはデザインを持っている場合、それが私たちのクライアントのものに似ている場合、マネージャーは新しい反対を作成できることを意味します.
たとえば、3 つのテーブルがあります。
商標:
id
name
デザイン:
id
name
反対:
id
name
object_id
object_table
テーブルの反対がどのようなものに関連しているのかはわかりませんが、そのような種類のクエリを作成する可能性があるはずです:
SELECT id, name, opposition_object.name FROM opposition
LEFT JOIN (trademark|design) as opposition_object on opposition.object_id = (trademark|design).id
最初に、テーブル名を反対テーブルの object_table 列として保存することを考えましたが、テーブル名をクエリできるかどうかわからないことに気付きました。まず第一に、それは間違いなく悪い設計です。
でもここで打たれて何も頭に浮かびません。それで、誰もそれを処理する方法を知っていますか?