Я работаю над системой управления интеллектуальной собственностью, где у меня есть две таблицы в базе данных - торговая марка и дизайн.MySQL условное имя таблицы в JOIN
Тогда у меня есть такая вещь, как оппозиция. Это означает, что если у кого-то есть товарный знак или дизайн, который похож на наших клиентов, менеджер может создать новую оппозицию.
К примеру, у меня есть 3 таблицы:
торговая марка:
id
name
дизайн:
id
name
oppostion:
id
name
object_id
object_table
Я не знаю, к какая таблица оппозиция rela Ted, но я должен иметь возможность сделать такой вид запроса:
SELECT id, name, opposition_object.name FROM opposition
LEFT JOIN (trademark|design) as opposition_object on opposition.object_id = (trademark|design).id
Во-первых, я думал о хранении имя таблицы object_table столбце таблицы оппозиции, но потом я понял, что я не знаю, будет ли это можно запросить имя таблицы и, во-первых, это отвратительно плохой дизайн.
Но меня тут поразило, и мне ничего не приходит в голову. У кого-нибудь есть идеи, как справиться с этим?
Спасибо, это именно то, что я искал! –
@KuH также, сравните производительность с запросом из моего ответа. Я не совсем уверен, но мне кажется, что мой запрос должен быть быстрее, возвращая тот же результат. –
@KuH: проблем нет. Не забудьте проголосовать за ответ, который, по вашему мнению, хорош. Это дает нам теплое нечеткое чувство: P. – Arion