答案 0 :(得分: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;