我想构建一个SQL查询,如下所示:我有一个表,例如:
| 交易ID|消费者|制片人|局外人|交易日期|
| - ------|- ------|- ------|- ------|- ------|
| 1个|山姆|尼克|尼克|十二月一日|
| 第二章|杰克|鲍勃|史蒂夫|十二月一日|
| 三个|吉尔|吉尔|亚伦|十二月二日|
| 四个|迈克|南希|迈克|十二月三日|
| 五个|吉尔|弗雷德|杰生|十二月四日|
根据职责类型,我希望检查该人员是否在另一列中具有任何其它职责,并输出唯一的职责名称。人员可以在不同的事务处理日期具有不同的职责。同一事务处理ID/日期不应重复人员职责。输出示例:
| 人员姓名|唯一角色|交易日期|
| - ------|- ------|- ------|
| 山姆|消费者|十二月一日|
| 杰克|消费者|十二月一日|
| 吉尔|消费者-生产者|十二月二日|
| 迈克|消费者-局外人|十二月三日|
| 吉尔|消费者|十二月四日|
| 尼克|生产者-外部人员|十二月一日|
| 鲍勃|制片人|十二月一日|
| 南希|制片人|十二月三日|
| 弗雷德|制片人|十二月四日|
| 史蒂夫|局外人|十二月一日|
| 亚伦|局外人|十二月二日|
| 杰生|局外人|十二月四日|
1条答案
按热度按时间nx7onnlm1#
你可以先将三个字段“Consumer"、“Producer”和“Outsider”展开为一个单独的字段,每个字段都有区别,然后使用
STRING_AGG
对每个日期和人物应用字符串聚合。查看here演示。