我有一个复杂的结果,需要编写原始的SQL查询。
请参阅https://stackoverflow.com/a/38548462/80353
预期结果是一个显示多个列的表。
第一个列标题只是Product
,其他列标题是商店名称。
这些值只是产品名称和这些商店中产品的汇总销售值。
将展示哪些商店完全是动态的。最多应该是9家商店。
文本格式相同:
存储表
------------------------------
| id | code | address |
|-----|------|---------------|
| 1 | S1 | Kings Row |
| 2 | S2 | Queens Street |
| 3 | S3 | Jacks Place |
| 4 | S4 | Diamonds Alley|
| 5 | S5 | Hearts Road |
------------------------------
产品表
------------------------------
| id | code | name |
|-----|------|---------------|
| 1 | P1 | Saucer 12 |
| 2 | P2 | Plate 15 |
| 3 | P3 | Saucer 13 |
| 4 | P4 | Saucer 14 |
| 5 | P5 | Plate 16 |
| and many more .... |
|1000 |P1000 | Bowl 25 |
|----------------------------|
销售表
----------------------------------------
| id | product_id | store_id | amount |
|-----|------------|----------|--------|
| 1 | 1 | 1 |7.05 |
| 2 | 1 | 2 |9.00 |
| 3 | 2 | 3 |1.00 |
| 4 | 2 | 3 |1.00 |
| 5 | 2 | 5 |1.00 |
| and many more .... |
| 1000| 20 | 4 |1.00 |
|--------------------------------------|
关系是:
我希望以下列方式通过分页显示:
鉴于商店S1-S3:
-------------------------
| product | S1 | S2 | S3 |
|---------|----|----|----|
|Saucer 12|7.05|9 | 0 |
|Plate 15 |0 |0 | 2 |
| and many more .... |
|------------------------|
有关架构的更多详细信息,请查看How to get back aggregate values across 2 dimensions using Python Cubes?
中的问题架构对我的问题并不是非常重要的:
由于我要编写一个复杂的原始查询,有没有办法将查询结果映射到字段是动态的模型?
我找到了有关如何在Django中执行原始查询的文档,以及如何使用固定字段和匹配表对现有模型执行原始查询。
我的问题是,对于没有匹配表和动态字段的模型,可以这样做吗?
若然,怎么样?
或者如果我选择在postgresql中使用物化视图,我该如何将它与模型类匹配?