请问在数据库里,第一列相同的情况下,如何合并第二列的数行到同一格内?

如图所示,图1和图2是主副表的关系,当图1中旅客第一次到达以后就会生成一条记录,往后的第二次则会在图2中生成记录,依次往下堆叠。我想通过帆软实现图3的效果,就是合并图1图2的表中同一个旅客的“中转地”这一列。因为我不是很懂主副表和主键外键要怎么查询操作,所以来请教一下各位怎样才能实现我想要的效果?谢谢

FineReport songyakusoku 发布于 2023-2-6 19:00
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-2-6 19:11(编辑于 2023-2-6 20:35)

看你截图直接用第二个明细表就可以在帆软的报表中直接设置好就搞定了

报表数据.rar

image.png

A-C列不用设置保持默认

image.png

image.png

最后的结果:

image.png

------------------------数据库的方式-----------------------

不知道你是什么数据库,比如mysql里面用GROUP_CONCAT函数把要拼的字段放在里面

[Mysql] GROUP_CONCAT函数_mysql中group_concat_山茶花开时。的博客-CSDN博客

select 

a.姓名,

a.编号,

a.出发地,

GROUP_CONCAT(b.中转地) as 中转地,

a.终点地

 from 表01 a

join 表02 b on a.姓名=b.姓名

group by 

a.姓名,

a.编号,

a.出发地,

a.终点地

就类似这样

-------------如果是oracle里面假如是11g及以上版本用

LISTAGG函数。你可以百度

如果是sql server的话参考这里:

SQL Server实现group_concat功能_group_concat sqlserver_小灯数据-脚本小王子的博客-CSDN博客

  • 2关注人数
  • 393浏览人数
  • 最后回答于:2023-2-6 20:35
    请选择关闭问题的原因
    确定 取消
    返回顶部