我有数据库有这样的表
我无法更改数据库结构
我想编写查询以获取所有手机的数量总和(相机及其颜色为红色),例如
我找到了一种方法,但它太复杂了
如果有样品,请帮助我吗?答案 0 :(得分:4)
SELECT SUM(mobile_count) Total
FROM [master] M
WHERE EXISTS(SELECT 1 FROM [details]
WHERE master_fk = M.master_id
AND mobile_camera = 1
AND mobile_color = 'red')
在一个不相关的说明中,我真的希望您为主键选择了非聚集索引,因为您使用的是UNIQUEIDENTIFIER
。
答案 1 :(得分:1)
SELECT SUM(mobile_count) Total
FROM [master] M join [Details] D ON M.master_id = D.master_fk
WHERE mobile_camera = 1 AND mobile_color = 'red'
答案 2 :(得分:-1)
这会产生所需的结果吗?
SELECT SUM(mobile_count)
FROM master INNER JOIN details ON master_id = master_fk
WHERE mobile_camera = 1 and mobile_color = 'red'