我正在尝试设计一个数据库,并基于某些可用的标准和选项为评分设备编写一个sql查询。
这里的标准例如:
硬件强度
软件安全
设备操作系统
表Master
中给出了每个标准的选项。根据每个选项都有一个可用的分数。
我试图考虑使用连接的sql查询,但作为javascript开发人员,我完全不知道该查询是什么。
这在单个sql查询中是否可行?
最佳答案
假设您想要最终得分的总分,可以使用join
s。下面是一种方法:
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;