복붙노트

[SQL] 내 SQL 코드에서 오류가 어디에 있습니까?

SQL

내 SQL 코드에서 오류가 어디에 있습니까?

'SELECT * FROM t1
          JOIN t2 ON t1.wid = t2.wid
          WHERE t2.wid IS NULL
          LIMIT ' . $number;

내가 다시 값을하지 않는 이유를 나에게이 코드 아무것도 반환 당신이 도움을 줄 수?

해결법

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

    1.

    JOIN t2 ON t1.wid = t1.wid
    

    당신은을 찾으시는 것입니까? 나 정말 평균 t1.wid = t2.wid 당신은? 이 경우 당신은 왼쪽에 가입 싶어.

    편집하다

    좋아, 당신은 그것을 해결했습니다. 같은 WID와 T1의 행과 일치하는 WID이 T2의 행이없는 한 그 결과가 표시되지 않습니다.

    당신이 결과를 원하는 경우,이로 변경 :

    'SELECT * FROM t1
              LEFT JOIN t2 ON t1.wid = t2.wid
              WHERE t2.wid IS NULL
              LIMIT ' . $number;
    

    NEXT EDIT

    목표는 T2 이미없는 T1의 값으로 T2 업데이트 할 경우, 다음은 다음과 같이 될 것이다 :

    'INSERT INTO t2 
       SELECT t1.* FROM t1
         LEFT JOIN t2 
            ON t1.wid = t2.wid
         WHERE t2.wid IS NULL
         LIMIT ' . $number;
    

    누락 된 단계는 T1의 결과를 반환 한 후 (T2)에 삽입 단순히이었다.

  2. ==============================

    2.난 당신이 오타가 있다고 생각.

    난 당신이 오타가 있다고 생각.

    'SELECT * FROM t1
                  JOIN t2 ON t1.wid = t2.wid
                  WHERE t2.wid IS NULL
                  LIMIT ' . $number;
    
  3. from https://stackoverflow.com/questions/29384809/where-is-the-fault-in-my-sql-code by cc-by-sa and MIT license