【发布时间】:2021-06-24 06:30:33
【问题描述】:
我的情况有点复杂。
我有两张桌子,
表 1:损失原因 该表收集了针对父容器和子容器的所有报废交易:
| Container | Reason | Scrap Qty |
|---|---|---|
| 123-A | Bent | 5 |
| 123-C | Scratch | 1 |
| 123-D | Bent | 3 |
| 123-C | Flash | 1 |
| 123-A | Bent | 1 |
表 2:容器 表的目的是显示父容器及其子容器和容器数量。 P 表示父母,C 表示孩子
| Container | Container-Level | Qty |
|---|---|---|
| 123 | P | 100 |
| 123-A | C | 20 |
| 123-B | C | 10 |
| 123-C | C | 20 |
| 123-D | C | 20 |
| 123-E | C | 10 |
我创建了如下查询: `
select
C.container,
lr.container,
sum(case when lr.Reason ='Bent' then lr.scrap_qty) as Bent
,sum(case when lr.Reason ='Flash' then lr.scrap_qty) as Flash
,sum(case when lr.Reason ='Scratch' then lr.scrap_qty) as Scratch
from
loss_reasons lr
join
container c on c.container=lr.container
group by C.container ,lr.container `
运行查询后,我得到以下数据输出:
| Container | Bent | Flash | Scratch |
|---|---|---|---|
| 123-A | 6 | 0 | 0 |
| 123-C | 0 | 1 | 1 |
| 123-D | 3 | 0 | 0 |
我想要做的是获取下表而不是上面的表,其中即使没有针对容器创建废品事务 - 无论级别如何,报告仍应显示值为 0 的容器(请查看粗体值):
| Container | Bent | Flash | Scratch |
|---|---|---|---|
| 123 | 0 | 0 | 0 |
| 123-A | 6 | 0 | 0 |
| 123-B | 0 | 0 | 0 |
| 123-C | 0 | 1 | 1 |
| 123-D | 3 | 0 | 0 |
| 123-E | 0 | 0 | 0 |
这可能吗?非常感谢您在这件事上的帮助。
【问题讨论】:
标签: sql reporting-services ssrs-2012