该service_option
表和该room
表具有相同的列room_key
,该room
表和该user
表共享相同的列user_key
,我想要的是从服务选项中获取用户的信息。
SELECT user_key, user_id, user_status, user_company_name
FROM user
WHERE user_key
IN (
SELECT user_key
FROM room
WHERE room_key
IN (
SELECT room_key
FROM service_option
WHERE service_option_key = 3 AND ordered_service_option_status !=0
)
)
使用嵌套在另一个IN中的IN效率很低。
这可能是您要查找的查询:
SELECT U.user_key
,U.user_id
,U.user_status
,U.user_company_name
FROM [user] U
INNER JOIN room R ON R.user_key = U.user_key
INNER JOIN service_option S ON S.room_key = R.room_key
AND S.service_option_key = 3
AND S.ordered_service_Option_status != 0
该INNER JOIN
方法将具有更高的性能,并使查询更具可读性。
希望这会帮助你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句