我有多个表,都有唯一的产品标识、用户标识和日期。
是否有任何方法可以显示单个表以显示每个用户id之间拆分的每个表中的计数。
我希望每个表名有一行,每个用户id有多列,行中有产品id的计数。
例如:
TblName user1 user2 user3
tbl1 1 2 3
tbl2 4 5 6
tbl3 7 8 9
tbl4 3 2 1
我觉得这将需要枢轴,但我不确定如何执行它。到目前为止,我已经能够搜索并找到构建生产数据库后端和正常运行的前端用户应用程序所需的一切,但这一点我无法实现。
对于某些上下文,请求的表将用于显示跨多个任务的员工的生产计数。如果可能的话,我想把日期作为存储过程的参数,这样我就可以在前端用户应用程序中创建一个排序滑块。
我读过几乎所有类似的问题,它们要么不是我想要的,要么没有解决,要么恰好是一个无法完成的请求。我觉得我的可能会落在后面。
我还认为,我可能只是在知道到底要寻找什么来找到我要寻找的答案时很糟糕。
请让我知道,如果有任何额外的信息需要满足我的要求。
2条答案
按热度按时间huwehgph1#
可以使用条件聚合和
union all
```select 'table1' as tablename,
sum(case when userid = 'user1' then 1 else 0 end) as user1,
sum(case when userid = 'user2' then 1 else 0 end) as user2,
sum(case when userid = 'user3' then 1 else 0 end) as user3
from table1
union all
select 'table2' as tablename,
sum(case when userid = 'user1' then 1 else 0 end) as user1,
sum(case when userid = 'user2' then 1 else 0 end) as user2,
sum(case when userid = 'user3' then 1 else 0 end) as user3
from table2
union all
. . .;
e4eetjau2#
您可以尝试联合轴心方法: