문제

좋아, 어떻게 변경할 수 있습니까?

select * from quallev_qualificationlevel quallev
where quallev.quallev_qual_id in (/* */ select qual.qual_id from qual_qualification qual, qde_qualificationdescription qde
where (qual.qual_id = qde.qde_qual_id)
and qual.qual_startdate <= '2013-12-02'
and qual.qual_enddate >= '2013-12-02'
and qde.qde_namepurpose_cd_id = 7294
and qde.qde_langauge_id = 2
and qde.qde_startdate <= '2013-12-02'
and qde.qde_enddate >= '2013-12-02'
order by qual.qual_id,
        qual_code /* */)
and quallev.quallev_startdate <= '2013-12-02'
and quallev.quallev_enddate >= '2013-12-02'

하나만 선택하기 위해?

나는 어떤 형태의 내부 조인을 사용해야한다고 생각합니다.

도움이 되었습니까?

해결책

당신을 대체합니다 in 조항, 당신은 할 수 있습니다

inner join qual_qualification qual on qual.qual_id = quallev.quallev_qual_id
inner join qde_qualificationdescription qde on qual.qual_id = qde.qde_qual_id

하지만 inner join An과 동일하지 않습니다 in 절. 따라서 더 이상 사용해서는 안됩니다 select *, 하지만 적어도 select quallev.*

가입이 1 이상을 검색하면 qual_qualification 각각 quallev_qualificationlevel, 당신은 중복 결과를 얻을 것이므로 distinct 절.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top