在多表中怎么计算个人信息完整度?

Marion158 2019-04-25 11:38:35
有4张表,通过id关联外键,主表一定有信息,附表可能有也可能没有,在多表中怎么计算个人信息完整度?



只能使用sql
...全文
177 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2019-04-25
  • 打赏
  • 举报
回复
select sum(rs) from ( select count(*) * 0.25 rs from t1 union all select count(*) * 0.25 from t2 union all select count(*) * 0.25 from t3 union all select count(*) * 0.25 from t4 )x
二月十六 2019-04-25
  • 打赏
  • 举报
回复
SELECT 0.25 + CASE
                  WHEN 培训名称 IS NULL THEN
                      0
                  ELSE
                      0.25
              END + CASE
                        WHEN 公司名称 IS NULL THEN
                            0
                        ELSE
                            0.25
                    END + CASE
                              WHEN 家庭成员 IS NULL THEN
                                  0
                              ELSE
                                  0.25
                          END AS 完整度
FROM 主表
    LEFT JOIN 培训表
        ON 主表.人员Id = 培训表.人员Id
    LEFT JOIN 工作经历表
        ON 主表.人员Id = 工作经历表.人员Id
    LEFT JOIN 家庭表
        ON 主表.人员Id = 家庭表.人员Id;
wangrcaction 2019-04-25
  • 打赏
  • 举报
回复
SELECT *, CAST(ISNULL((select 25 from 培训表 as p where p.人员id = e.人员id),0) + ISNULL((select 25 from 工作经历表 as j where j.人员id = e.人员id),0)+ ISNULL((select 25 from 家庭表 as f where f.人员id = e.人员id),0),0) + 25 AS VARCHAR(3))+'%' AS [人员信息完善度] FROM 人员表 as e

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧