sql - 设计数据库并编写分数查询的SQL查询-LMLPHP
我正在尝试设计一个数据库,并基于某些可用的标准和选项为评分设备编写一个sql查询。
这里的标准例如:
硬件强度
软件安全
设备操作系统
Master中给出了每个标准的选项。根据每个选项都有一个可用的分数。
我试图考虑使用连接的sql查询,但作为javascript开发人员,我完全不知道该查询是什么。
这在单个sql查询中是否可行?

最佳答案

假设您想要最终得分的总分,可以使用joins。下面是一种方法:

select d.*,
       (coalesce(mh.score, 0) + coalesce(ms.score, 0) + coalesce(md.score, 0)) as total_score
from data d left join
     master mh
     on mh.field = 'Hardware Strength' and
        mh.option = d.hardware_strength left join
     master ms
     on msfield = 'Sofware Security' and
        ms.option = d.software_security left join
     master md
     on mh.field = 'Device OS' and
        mh.option = d.device_os;

10-01 00:53