>

안녕하세요. SQL 조인을하려고하는데 문제가 있습니다.

여기 내 데이터 세트가 있습니다. 직원 할인을 사용한 모든 신용 카드를 찾은 다음이 목록을 사용하여 df1에 대한 내부 조인을 수행하려고합니다.

DF1

  Date          creditcard_number    transaction_number   store
   2017-11-01    1234567891234567     1                    1
   2017-01-01    1234567891234568     2                    1
   2017-11-01    1234567891234567     3                    1
   2017-01-01    1234567891234568     4                    1

DF2

  Date              transaction_number   store  emp_disc
   2017-11-01        1                    1      103431

목표-df (emp_disc가있는 카드에 대해서만 필터링 됨)

  Date          creditcard_number    transaction_number   store   emp_disc
   2017-11-01    1234567891234567     1                    1       103431
   2017-11-01    1234567891234567     3                    1       103431

  • 답변 # 1

    MySQL에서 시도 :

    SELECT A.*, B.transaction_number, B.store, B.emp_disc
    FROM DF1 A INNER JOIN
    (SELECT * FROM DF2 WHERE emp_disc IS NOT NULL) B
    ON A.`DATE`=B.`DATE`;
    
    

    통찰력에 대해서는 mysqltutorial.org를 참조하십시오.

  • 답변 # 2

    이 권리를 읽으면 다음 쿼리가 귀하의 요구를 충족시킬 것이라고 생각합니다.

    SELECT DF1.*, DF2.emp_disc 
    FROM DF1 
    JOIN DF2 ON DF2.transaction_number = DF1.transaction_number 
            AND DF2.store = DF1.store
    WHERE DF2.emp_disc IS NOT NULL
    
    

  • 이전 mysql - 데이터를 나누기위한 쿼리
  • 다음 ruby on rails - 로컬 경로에서 gem을로드 할 수 없습니다