finedb的数据库表关联字段关联了,但是查询的数据并不对。

我要看每个报表都有哪些用户有权限来看,根据finedb的er图进行关联,个人感觉没问题,但是查出来的数据跟从决策系统导出的excel数据不一致。决策系统导出的excel数据里面有一些离职人,所以我想根据finedb来查一下还在职的人with tmp_a as (

--权限表   取有查看权限并且目录权限

select t2.displayName,t1.roleId

from fine_authority t1

left join fine_authority_object t2

  on t1.AUTHORITYENTITYID = t2.id

where t1.AUTHORITY = 2 )

,tmp_b as (

-- 取用户姓名和用户Id

select realName,t2.userId,t2.roleId

  from fine_user t1

  left join fine_user_role_middle t2

    on t1.id = t2.userId

  where t1.enable = 1

)

,tmp_c as (

select t1.displayName

                , t2.realName

           from tmp_a t1

                    left join tmp_b t2

                              on t1.roleId = t2.roleId

           where t2.realName is not null)

select t2.displayName

      ,(select realName+',' from tmp_c t1 where t1.displayName = t2.displayName for xml path('')) as name

  from tmp_c t2

group by t2.displayName

image.png

SQL 帆软不知名用户 发布于 2023-7-20 10:23 (编辑于 2023-7-20 10:27)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-7-20 10:49

你用的left join fine_authority 那权限表里面有的肯定显示出来

https://blog.csdn.net/qq_43416132/article/details/120820886 好好看看这个

image.png

  • 帆软不知名用户 帆软不知名用户(提问者) 我不知道你说的问题在哪里,跟left join right join有什么关系。不管是不是left 还是right查询的数据都不全,老哥亲自实践过没有呢,
    2023-07-21 08:57 
  • Z4u3z1 Z4u3z1 回复 帆软不知名用户(提问者) 看链接文档,把这4种join方式返回结果弄清楚了就知道怎么改sql。不熟悉SQL可以分步写,写对了一条后再加其它的表、字段、条件
    2023-07-21 09:04 
  • 帆软不知名用户 帆软不知名用户(提问者) 回复 Z4u3z1 请问你自己试过帆软的底层db么,我表达的意思很简单,finedb底层记录的数据貌似不全,跟我sql写的对不对有什么问题,你反而质疑sql写的不对,挺无语的。
    2023-07-21 09:18 
  • Z4u3z1 Z4u3z1 回复 帆软不知名用户(提问者) 恩 你是对的。我瞎说 的
    2023-07-21 09:28 
  • 帆软不知名用户 帆软不知名用户(提问者) 回复 Z4u3z1 666
    2023-07-21 09:36 
  • 1关注人数
  • 306浏览人数
  • 最后回答于:2023-7-20 10:49
    请选择关闭问题的原因
    确定 取消
    返回顶部