SQL子选择语句使用where子句进行过滤

时间:2012-10-24 17:52:31

标签: mysql

我正在构建仪表板,需要从有些复杂的架构中提取一些数据。

我有一个select语句(见下文),我用它来提取信息,但需要对select语句的一部分进行一些过滤,而且我正在努力。

select distinct j.id 'Job_Id'
        , js.outcome 'Outcome'
        ,(select string from property where parent_sheet_id = ps.id and name= 'Build_Type') as 'Build_Type' 
    from job j, job_step js, property_sheet ps, property p
    where j.id = js.job_id
    and ps.entity_id=js.id
    and ps.id=p.parent_sheet_id
    and ps.entity_type='step'
    and p.name = 'Id'
    group by j.id
    order by j.id desc;

我确信有更好的方法来执行此查询,我会感谢任何其他建议,但我主要是尝试在嵌套的select语句上放置一个别名为“Build_Type”的过滤器,但是当我试着看起来不行。我读过一些博客说这是不可能的,所以我有点卡住了。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

select 
ps.id,
Build_Type.string
from 
property_sheet as ps
left join 
property as Build_Type
on ps.id = Build_Type.parent_sheet_id and Build_Type.name = 'Build_Type'

where Build_Type....