Получение суммы столбцов двух разных таблиц в один столбец с group_by - PullRequest
0 голосов
/ 04 апреля 2020

Первый запрос для таблицы InvoiceOne к категории group_by и получение суммы totalExGst:

sortCategory = db.session.query(
            InvoiceOne.category, db.func.sum(
                InvoiceOne.totalExGst).label('Total')
        ).filter(and_(InvoiceOne.storeNumber == '98376', InvoiceOne.weekEndDate == '2020-03-22')).group_by(InvoiceOne.category)

Второй запрос делает то же самое с таблицей BankData:

sortCategory = db.session.query(
            BankData.category, db.func.sum(
                BankData.debit).label('Total_BankData')
        ).filter(and_(BankData.storeNumber == '98376', BankData.weekEndDate == '2020-03-22')).group_by(BankData.category)

Мне бы хотелось чтобы объединить этот запрос, чтобы вместо Total и Total_BankData

я мог получить всего один столбец.

1 Ответ

1 голос
/ 04 апреля 2020

Я предлагаю вам go с подзапросами:

sortCategory1 = db.session.query(
    InvoiceOne.category,
    db.func.sum(InvoiceOne.totalExGst).label('Total')
).filter(
    and_(
        InvoiceOne.storeNumber == '98376',
        InvoiceOne.weekEndDate == '2020-03-22')
).group_by(InvoiceOne.category).subquery()

sortCategory2 = db.session.query(
    BankData.category, 
    db.func.sum(BankData.debit).label('Total_BankData')
).filter(
    and_(
        BankData.storeNumber == '98376', 
        BankData.weekEndDate == '2020-03-22')
).group_by(BankData.category).subquery()


sortCategoryTotal = db.session.query(
    sortCategory1.c.category,
    sortCategory1.c.Total + sortCategory2.c.Total_BankData
).join(sortCategory2, sortCategory1.c.category == sortCategory2.c.category)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...