У меня есть эти две таблицы - продажи и покупки. А потом "сток", который к ним относится. Это, кстати, Flask -Sqlalchemy, но я не знаю, важно ли это.
class Sales(db.Model):
__tablename__ = "sales"
id = db.Column(db.Integer, primary_key=True)
stock_id = db.Column(db.Integer, db.ForeignKey(
'stocks.id'), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
amount = db.Column(db.Integer, nullable=False, default=1)
unit_price = db.Column(db.Numeric, nullable=False)
total_price = db.Column(db.Numeric, nullable=False)
time = db.Column(db.DateTime, nullable=False,
default=datetime.datetime.utcnow())
class Purchases(db.Model):
__tablename__ = "purchases"
id = db.Column(db.Integer, primary_key=True)
stock_id = db.Column(db.Integer, db.ForeignKey(
'stocks.id'), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
amount = db.Column(db.Integer, nullable=False, default=1)
unit_price = db.Column(db.Numeric, nullable=False)
total_price = db.Column(db.Numeric, nullable=False)
time = db.Column(db.DateTime, nullable=False,
default=datetime.datetime.utcnow())
class Stock(db.Model):
__tablename__ = "stocks"
id = db.Column(db.Integer, primary_key=True)
symbol = db.Column(db.String(), nullable=False, unique=True)
name = db.Column(db.String, nullable=False)
Мне нужно сделать обзор полных транзакций (а затем присоединить его к таблице Stock, чтобы увидеть название продукта, который продается / покупается)
Эти две таблицы идентичны. Единственная разница в том, что один - это продажи, а другой - покупки. И мне нужно прояснить это в данных, полученных в результате запроса: какие строки относятся к «продажам», а какие - к «покупкам»?
Было бы разумнее создать одну таблицу вместо этого со всеми транзакциями и столбцом для указания, была ли это покупка или продажа с самого начала? Или использовать положительные и отрицательные числа для «итоговой цены»?
Могу ли я объединить две таблицы, но каким-то образом указать, какие строки из какой таблицы? Например, добавление дополнительного столбца с содержанием «0», если это продажа, и «1», если это покупка?
Если бы кто-нибудь показал мне несколько примеров запросов, в том числе как сделать я был бы очень признателен за объединение, чтобы включить "символ акции" или "название акции" из таблицы акций.