복붙노트

[SQL] 여러 열 조인

SQL

여러 열 조인

나는 두 테이블에서 여러 열을 가입하려는 두 테이블 (테이블 A와 테이블 B)가 있습니다.

Table A                         
Col1     Col2                
================            
A11      A21                 
A22      A22              
A33      A23                 

Table B 
Col1     Col2   Val 
=================  
B11     B21     1  
B12     B22     2  
B13     B23     3  

나는 표 A에서 모두 열이 발을 얻기 위해 표 B에 하나 COL1과 Col2의의에 참여하고 싶습니다.

해결법

  1. ==============================

    1.귀하의 예제에는 일치를 동의하지 않습니다. 당신이 중 하나에 모두 열을 의미하는 경우에이 같은 쿼리 또는 필요 필요한 데이터 설계를 재 - 조사한다.

    귀하의 예제에는 일치를 동의하지 않습니다. 당신이 중 하나에 모두 열을 의미하는 경우에이 같은 쿼리 또는 필요 필요한 데이터 설계를 재 - 조사한다.

        Select TableA.Col1, TableA.Col2, TableB.Val
        FROM TableA
        INNER JOIN TableB
              ON TableA.Col1 = TableB.Col1 OR TableA.Col2 = TableB.Col2 
              OR TableA.Col2 = TableB.Col1 OR TableA.Col1 = TableB.Col2
    
  2. ==============================

    2.다른 쿼리는 모든 자격 조건 중 하나에 기반을하려고하고 있는지 테이블 A의 두 열이 일치되어 있는지 확인하려면이 ... 레코드를 반환합니다, 당신은 뭔가를해야 할 것이다 ...

    다른 쿼리는 모든 자격 조건 중 하나에 기반을하려고하고 있는지 테이블 A의 두 열이 일치되어 있는지 확인하려면이 ... 레코드를 반환합니다, 당신은 뭔가를해야 할 것이다 ...

    select 
          tA.Col1,
          tA.Col2,
          tB.Val
       from
          TableA tA
             join TableB tB
                on  ( tA.Col1 = tB.Col1 OR tA.Col1 = tB.Col2 )
                AND ( tA.Col2 = tB.Col1 OR tA.Col2 = tB.Col2 )
    
  3. ==============================

    3.다음은 쓸 수 있다는 SQL의 구조입니다. 여러 사용 "AND"또는 "OR"에 의해 조인 할 수 있습니다.

    다음은 쓸 수 있다는 SQL의 구조입니다. 여러 사용 "AND"또는 "OR"에 의해 조인 할 수 있습니다.

    Select TableA.Col1, TableA.Col2, TableB.Val
    FROM TableA, 
    INNER JOIN TableB
     ON TableA.Col1 = TableB.Col1 OR TableA.Col2 = TableB.Col2
    
  4. ==============================

    4.

    tableB.col1 = tableA.col1 
    OR tableB.col2 = tableA.col1  
    OR tableB.col1 = tableA.col2  
    OR tableB.col1 = tableA.col2
    
  5. from https://stackoverflow.com/questions/7183364/join-on-multiple-columns by cc-by-sa and MIT license