本文介绍了从子查询选择中选择字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个查询,只是从ad_media获取字段,但是我不知道如何选择子查询选择中的字段以及从左到ad_params
any的字段确实可以帮助您

I have this query that getting the fields just from ad_media , but i can't figure out how to select also the fields that are in the subquery selection as well as the fields from the left join with ad_paramsany help thanks indeed

select ad_media.ad_media_id
, ad_media.ad_id
from ad_media
where ad_media.ad_id in
(
    select action_states.ad_id
    from action_states
    where action_states.state = 'reg'
    and action_states.action_id = '1'
    and action_states.timestamp::date between '2018-04-17' and '2018-04-17'
    and action_states.ad_id in
    (
        select ads.ad_id
        from ads
        where ads.category = '2010'
        and ads.name = 'joe'
    )
)
left join ad_params
on ad_media.ad_id = ad_params.ad_id;


推荐答案

您可以尝试内部加入而不是子查询

SELECT ad_media.ad_media_id, ad_media.ad_id
FROM ad_media
INNER JOIN action_states ON action_states.ad_id = ad_media.ad_id
INNER JOIN ads ON ads.ad_id = action_states.ad_id
LEFT JOIN ad_params ON ad_media.ad_id = ad_params.ad_id
WHERE action_states.state = 'reg'
AND action_states.action_id = '1'
AND action_states.timestamp::DATE BETWEEN '2018-04-17' AND '2018-04-17'
AND ads.category = '2010' AND ads.name = 'joe';

这篇关于从子查询选择中选择字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 08:12
查看更多