【问题标题】:Generate a spending report from the following tables从下表生成支出报告
【发布时间】:2012-06-27 01:59:10
【问题描述】:

我目前的项目是根据下表生成支出报告。完整的报告是按特许经营的零售类别显示用户的支出 $ 细分,例如

用户 1

retail_category 1:20 美元

零售类别 2:30 美元

retail_category 3:35 美元

用户 2

retail_category 1:10 美元

零售类别 2:15 美元

retail_category 3:5 美元

这是表格:

class User(models.Model):
    id_user = models.AutoField(primary_key = True)

class Franchises(models.Model):
    id_franchise = models.AutoField(primary_key=True)
    retail_category = models.IntegerField(default=99)  # values are 1 to 13

class Stores(models.Model):
    id_store = models.AutoField(primary_key=True)
    franchise = models.ForeignKey(Franchises, db_column='id_franchise')

class Receipts(models.Model):
    id_receipt = models.AutoField(primary_key=True)
    store = models.ForeignKey(Stores, db_column='id_store')
    user = models.ForeignKey(User, db_column='id_user')
    grand_total = models.DecimalField(max_digits=19, decimal_places=4)

我会很感激任何原始的 mysql 或 django 模型查询。谢谢,

【问题讨论】:

    标签: mysql django-models django-queryset


    【解决方案1】:

    希望我将您的 django 架构规范正确地转换为原始 mysql:

    SELECT user, retail_category, SUM(grand_total)
    FROM Receipts
    INNER JOIN Stores ON Receipts.store = Stores.id_store
    INNER JOIN Franchises ON Stores.franchise = Franchises.id_franchise
    GROUP BY user, retail_category;
    

    【讨论】:

    • 它可以工作,除非您需要在receipts.user id = user id 上加入内部用户。谢谢
    猜你喜欢
    • 2010-10-15
    • 1970-01-01
    • 2013-07-23
    • 2013-02-15
    • 2014-04-16
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多