1

我有数据库有这样的表 数据库关系

我无法更改数据库结构

例如,我想编写查询以获取所有具有(相机且其颜色为红色)的手机的总数

我找到了一种方法,但它是如此复杂

如果有样品方法,你能帮我吗?

4

3 回答 3

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.

于 2013-09-02T21:03:19.387 回答
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'
于 2013-09-02T21:05:52.290 回答
-1

这会产生所需的结果吗?

SELECT SUM(mobile_count)
FROM master INNER JOIN details ON master_id = master_fk
WHERE mobile_camera = 1 and mobile_color = 'red'
于 2013-09-02T21:04:49.727 回答