从多对多关系表中选择

时间:2020-10-27 15:11:09

标签: sql string postgresql inner-join aggregate-functions

给出这些表:

scenarios-suites tables

我想查询所有已连接套件的方案。

结果:

 **scenario**         **suites**
loginScenario         loginSignup, endToEnd, smoke
  addToCart           shoppingCart, paymentOptions, endToEnd

请引导我转到首选的PostgreSQL选择查询

这里的关系也是许多(套房)的一种(方案),如果设计不同,请告知。

1 个答案:

答案 0 :(得分:1)

使用联接和字符串聚合:

select 
    sc.description scenario_description, 
    string_agg(su.description, ', ') all_suites_descriptions
from scenario_suit scsu
inner join scenarios sc on sc.scenario_id = scsu.scenario
inner join suites su    on su.suite_id    = scsu.suite
group by sc.scenario_id

我假设表suites有一个要显示的名为description的列。

相关问题