我面临一个查询优化问题。希望我能得到一些帮助。场景是我有 4 张桌子。
Table 1 [asset_id, asset_name, User_id].
Table 2 [company_id, Company_name]
Table 3 [User_id, User_name]
Table 4 [Map_id, User_id, Company_id ]
我的结果将是检查来自同一公司的用户无法上传相同的资产,资产检查将在公司级别进行。我已经写了一个查询,也可以达到目的,但我需要消除子查询以进行优化。
我写的查询有一个子查询。我的查询是
SELECT COUNT(tg.asset_id)
FROM Table 1 tg
INNER JOIN Table 4 mcu
ON ((tg.User_id = mcu.User_id )
AND mcu.Company_id = (select Table 4.Company_id
from Table 4
where Table 4.User_id = 1))
WHERE tg.asset_name = 't1' ;