获取上级值公式

有个表是这样子的:

image.png

id2是id1的上级节点,现有一列num值与id1和id2一一对应,我想获取扩展后的id2的num值(不管id1是多少都覆盖掉),目前写的公式是这样的:

image.png

可是得到的结果为下方所示:

image.png

红色是我想要得到的值,问公式哪里错了,该怎么修正?

FineReport PANDA 发布于 2024-3-14 16:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
qqqLv3见习互助
发布于2024-3-14 16:48(编辑于 2024-3-14 16:51)

SELECT a.id1,a.id2,b.num from 黑点人员 a

left join 

(SELECT id1,id2,num from 黑点人员 where id1=id2)b

on a.id2=b.id2

order by id1

image.png

  • PANDA PANDA(提问者) 感谢,这种方式可以实现,但是需要对数据库读两次,性能不是很好
    2024-03-14 17:05 
  • PANDA PANDA(提问者) 虽然没按照你的这个方法来,但是却给我一个很好的思路。我只把需要的id和num字段在写一个新的数据集,这样压力就小很多,并且数据集不会再被影响到,再次感谢!
    2024-03-14 17:22 
最佳回答
1
snrtuemcLv8专家互助
发布于2024-3-14 16:39(编辑于 2024-3-14 16:51)

试试

ds.select(num,id1=B2)

========

value("ds",3,2,B2,1)

image.png

效果

image.png

  • PANDA PANDA(提问者) 试了,跟group结果一样
    2024-03-14 16:40 
  • snrtuemc snrtuemc 回复 PANDA(提问者) select函数bug,换value函数,value(\"ds\",3,2,B2,1) 评论引号前自动加斜杠,自己删除,测试可用没问题
    2024-03-14 16:49 
  • PANDA PANDA(提问者) 回复 snrtuemc 谢谢,看懂了,可不可以不用列序号(或者公式获取num的列序号)?实际情况是获取的值在好几个列,并且这么写的话,SQL肯定轻易动了,可用性不是很好
    2024-03-14 17:04 
  • PANDA PANDA(提问者) 另外,我也试过了SQL函数去获取,跟GROUP的结果一样
    2024-03-14 17:09 
  • 3关注人数
  • 288浏览人数
  • 最后回答于:2024-3-14 16:51
    请选择关闭问题的原因
    确定 取消
    返回顶部