Я действительно не знаю, в чем ваша проблема, но я бы подумал:
1) если покупатели и продавцы будут использовать одну и ту же информацию, я бы сделал одну таблицу для пользователей, чтобы хранить их обоих , Таким образом, у вас есть уникальный user_id.
2) иметь таблицу продуктов, подобную вашей, с указанием seller_id (внешний ключ к таблице пользователей) и полем, указывающим, является ли это прямой продажей или продуктом для торгов.
3) иметь таблицу для хранения ставок с указанием product_id, customer_id (внешний ключ к таблице пользователей) и детали ставки: сумма, дата и т. Д. c.
4) иметь таблицу для покупок и использовать ее для двух целей:
4.1) для хранения прямых продаж продуктов.
4.2) для хранения продаж, сделанных по окончательной ставке, совершенной на продукт для участия в торгах.
Я бы сохранил product_id, customer_id, оплаченную сумму, дату и, возможно, даже дополнительную ссылку на bid_id.
Таким образом, вы можете упростить и получить такую же информацию в простой модели, которую легко запрашивать.
Надеюсь, это поможет!