ジェイ・パテル:
カテゴリをGROUP_BYとtotalExGstの合計を取得するためにInvoiceOneテーブルの最初のクエリ:
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)
2番目のクエリは、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列のみを取得することができます。
ティボー:
私はあなたがサブクエリと一緒に行くお勧め:
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)