ID를 통해 여러 SQL 테이블 연결: "알 수 없는 테이블" 오류 문제 해결
이 가이드에서는 ID를 사용하여 여러 SQL 테이블을 조인할 때 발생하는 일반적인 문제를 다룹니다. 테이블 A, B, C를 성공적으로 조인했지만 테이블 D를 추가하면 "TableD를 알 수 없음" 오류가 발생합니다. 이 오류는 SQL 쿼리에 잘못된 테이블 D 참조가 있음을 나타냅니다. 이 문제를 해결하려면 테이블 D를 기존 조인된 테이블에 올바르게 연결해야 합니다.
솔루션
테이블 D를 포함하도록 수정된 SQL 문은 다음과 같습니다.
<code class="language-sql">SELECT TableA.*, TableB.*, TableC.*, TableD.* FROM TableA JOIN TableB ON TableB.aID = TableA.aID JOIN TableC ON TableC.cID = TableB.cID JOIN TableD ON TableD.dID = TableA.dID WHERE DATE(TableC.date) = CURDATE();</code>
이 향상된 쿼리는 TableA
을 앵커로 사용합니다. TableB
을 사용하여 aID
, TableC
을 사용하여 cID
, 그리고 마지막으로 TableD
을 사용하여 dID
을 조인합니다(dID
가 TableA
과 TableD
에 모두 존재한다고 가정). WHERE
절은 TableC.date
이 현재 날짜와 일치하는 항목만 포함하도록 결과를 필터링합니다. 명확성과 데이터베이스 호환성을 위해 CURDATE()
보다 일반적으로 선호되는 date(now())
사용에 유의하세요.
중요 고려 사항:
date(now())
는 일부 데이터베이스에서 작동하지만 CURDATE()
는 더 표준적이고 이식성이 뛰어납니다.다음 단계를 수행하고 ID 열의 존재와 이름을 확인하면 4개의 테이블을 모두 성공적으로 조인할 수 있습니다.
위 내용은 ID로 4개의 테이블을 조인할 때 SQL 쿼리가 'TableD를 알 수 없음'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!