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

이 코드는 나에게 아무것도 반환되지 않습니다. 왜 내가 가치를 되찾지 못하겠습니까?


  • 답변 # 1

    JOIN t2 ON t1.wid = t1.wid
    
    

    그러십니까? 아니면 정말로 t1.wid = t2.wid을 의미합니까? 이 경우 왼쪽 조인을 원합니다.

    수정

    알겠습니다. 고쳤습니다. t2에 동일한 wid와 t1의 행과 일치하는 wid가있는 행이 없으면 결과가 표시되지 않습니다.

    결과를 ​​원하면 다음과 같이 변경하십시오 :

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

    다음 편집

    목표가 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

    오타가 있다고 생각합니다.

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

  • 이전 ios - 비동기 요청이 완료 블록에 들어 가지 않습니다
  • 다음 asp.net mvc 4 - 데이터베이스의 동적 메뉴