내 쿼리에서 문제가 발생했습니다. 서브 SELECT로 해결할 수 있다고 생각합니다.subselect를 사용하여 쿼리를 수행하는 방법
Proposta_Id라는 기본 키가있는 San_Proposta라는 테이블이 있습니다. 이 테이블 (San_Proposta)에는 몇 가지 열이 있지만 특정 열은 StatusProposta_Id라고합니다. StatusProposta_Id는 1 또는 2의 값만 가질 수 있습니다. SanProposta_Id가 1이면 Proposta_Id는 Proposta_Id라는 외래 키가있는 San_Negocio라는 테이블에 존재하지 않습니다. StatusProposta_Id가 2이면 Proposta_Id가 San_Negocio라는 내 테이블에 있습니다.
San_Negocio에서 필자는 몇 가지 열을 가지고 있지만 ValidaVenda와 ValidaCaptacao의 두 열에주의를 기울여야합니다. 두 열은 2 개 값을 가질 수 있습니다 난 단지 하나 개의 쿼리를 수행 할 1 또는 0
을 그
- 반환하지 San_Negocio에 존재 할 (와 방법이 San_Proposta 경우, 초기 말했다 모든 데이터 .Proposta_Id 후
- 반환을) San_Negocio에 San_Proposta에 존재하는 모든 데이터가 존재하지 않습니다 1 아니라 San_Proposta.Proposta_Id 2 인 경우 다음) San_Negocio 존재, 초기 말했다 방법 San_Negocio에 존재하는 (그리고
- 내 테이블 San_Negocio에 San_Proposta.Proposta_Id가있는 경우 (Proposta_Id가 San_Negocio 테이블에 존재하는 경우 San_Proposta.StatusProposta _Id의 값은 2입니다.) San_Negocio.ValidaVenda라는 열에는 San_Negocio.ValidaCaptacao와 같은 값을 사용할 수 없습니다.
어떻게하면됩니까?
나는 추적 쿼리를 tryied하지만Proposta_Id | StatusProposta_Id
1 1
2 1
3 1
4 2
5 2
6 2
San_Negocio을 제대로
select
San_Proposta.Proposta_Id
from
San_Proposta
left outer join
(
select
*
from
San_Negocio
where
Proposta_Id is not null
and ValidaCaptacao <> ValidaVenda
) AS Negocio2
on San_Proposta.Proposta_Id = Negocio2.Proposta_Id
where
San_Proposta.StatusProposta_Id IN (1,2)
@Updated 작동
San_Proposta하지 않습니다3210
Proposta_Id | ValidaVenda | ValidaCaptacao 4 1 0 5 0 1 6 1 1
@Updated
나는 무엇을 기대
Proposta_Id
1
2
3
4
5
내가하고 Proposta_Id 4, 5 (San_Negocio에 존재하지 않기 때문에) 쿼리 Proposta_Id 1,2,3을 반환 할 그들은 San_Negocio에 있지만 ValidaVenda는 ValidaCaptacao와 다르므로 존재합니다.
작동하지 않는 기능은 무엇입니까? 오류나 잘못된 결과가 나옵니까? – rrrr
모든 일러스트 데이터와 예상 결과를 제공하면 누구나 신속하게 조회하여 도움을 줄 수 있습니다. –
@ThitLwinOo 내 게시물을 업데이트했습니다. –