2017-11-16 9 views
0

:SQL 조건 선택 : 값 1 <> 아래의 조건 테이블에서 값을 선택할 수 있는지 알고 당신의 도움이 필요하십니까 값이

표 내용 : 일치 둘 사이의 객체 (Id_obj_A, name_obj_A, country_obj_A ; Id_obj_B, name_obj_B, country_obj_B) 당신의 도움이

+0

무엇 데이터 유형입니까? int? string? –

+0

하나의 테이블일까요? 그렇다면 where 절이'WHERE country_obj_A <> country_obj_B' 인 경우를 제외하고 작성한 내용에 아무런 문제가 없습니다. –

+0

데이터가 다른 테이블에 있습니다 : Object_A = 엔티티 계정 데이터베이스 Object_B = 엔티티 정보를 확인하는 데 사용되는 다른 데이터베이스의 엔티티 계정 (글로벌 데이터베이스) 테이블 A : # Acct_ID, Acct_name, Acct_country TableB : # Acct_ID, Acct_name, Acct_country 표 C : # tableA.Acct_ID; # tableB.Acct_ID -> 두 데이터베이스에있는 계정 간의 일치가 포함되어 있습니다. 계정의 국가와 일치하지 않는 계정을 추출해야합니다. 두 테이블간에 조인을 사용하면 같은 논리로 우리가 하나의 테이블을 사용할 경우 조건은 동일해야합니다 ^^ –

답변

0

예에 대한

Select * 
from table 
Where (only if country_obj_A <> country_obj_B) 

많은 감사합니다. 몇 가지 방법이 있습니다, 하나는 다음과 같이 NOT EXISTS을 사용하는 것입니다하십시오 LEFT JOIN 다음 조인 행을 제외하여, NOT IN

select 
     * 
from tableA 
where country_obj_A NOT IN (
    select country_obj_B 
    from tableB 
    ) 

를 사용하거나

select 
     * 
from tableA 
where NOT EXISTS (
    select NULL 
    from tableB 
    where tableB.country_obj_B = tableA.country_obj_A 
    ) 

또는 :

select 
     * 
from tableA 
left join tableB on tableA.country_obj_A = tableB.country_obj_B 
where tableB.country_obj_B IS NULL 
+0

ooops, thanks, stoopid me –

+0

OP가 실제로 두 테이블을 다루고 있습니까? –

+0

많은 의견을 보내 주셔서 감사합니다 ^^ 일단 테스트를 수행하면 알려 드리겠습니다 (VPN 연결에 문제가 있습니다 ^^ : 그래서 서버에 점심으로 SQL 쿼리를 연결할 수 없습니다) –