Существует 2 таблицы к примеру продавцы(seller) и покупатели(buyer) у них есть одинаковые поля id, name, last_order_day продавцы содержат еще поля type и limit, покупатели содержат поле sum.
Задача: Нужно вывести всех покупателей и продавцов отсортированных по дате их последней операции для продавцов показать их лимит(limit), а для покупателей сумму(sum).
На примете пока только один вариант это создать View с запросом и уже через View делать сортировку и дополнительные условия на выборку
SELECT seller.id, seller.name, seller.last_order_day, seller.limit, seller.type, null as sum
FROM seller
WHERE seller.enable
UNION
SELECT buyer.id, buyer.name, buyer.last_order_day, null as limit, 'buyer' as type, buyer.sum
FROM buyer
WHERE buyer.enable
1. Насколько такой вариант будет ресурсоемким?
2. Возможно есть другие варианты?
P.S. Таблицы намного сложнее и объединить их не вариант
Задача какая-то непонятная.
Задача какая-то непонятная. Показ в одном месте разных сущностей с разными полями.
Обычно такое не требуется, так что придётся и извращаться по полной программе.
Вариант будет ресурсоёмким, а куда деваться?
> P.S. Таблицы намного сложнее и объединить их не вариант
А я бы именно пошёл по пути реконструкции структуры БД, если такое задание стоит.
В конце концов можно в общей таблице либо сделать поле who где ставить для продавцов одно значение, для покупателей другое. Или по значению NULL в поле limit определять покупателя.
Возможно даже лучшим делом будет оставить таблицу в которой есть общие поля для покупателей и продавцов, а разные поля вынести в отдельные таблицы, связав их через id.