【问题标题】:Get count for questions from audit log从审计日志中获取问题计数
【发布时间】:2020-07-20 12:28:55
【问题描述】:

我有两个表,一个表 A 包含问题,另一个表 B 包含所有问题的日志。 我想获得表 A 中每个问题的计数。 这里的问题是问题可以在 4 列中的任何一个中

下面是A表

谢谢 桑吉夫

【问题讨论】:

  • 为什么A中的所有列都同名?请编辑问题并显示您想要的结果。为什么表不使用第二个表中的id 列?
  • 对不起,列名不同
  • 。 .你应该解决这个问题。此外,您应该将数据作为文本表而不是图像。

标签: sql postgresql join


【解决方案1】:

如果我理解正确,您可以使用横向连接和聚合:

select submenu, count(*)
from a cross join lateral
     (values (a.submenu1), (s.submenu2), (a.submenu3), (a.submenu4)) v(submenu)
where submenu is not null
group by submenu;

您还可以使用join 和聚合:

select b.question, count(*)
from b join
     a
     on b.question in (a.submenu1, s.submenu2, a.submenu3, a.submenu4)
group by b.question;

【讨论】:

  • 伟大的@Gordon,让我运行并检查
猜你喜欢
  • 1970-01-01
  • 2020-07-26
  • 2018-04-26
  • 2018-01-25
  • 2015-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 2011-10-24
相关资源
最近更新 更多