2014-03-24 2 views
2

MySQL 데이터베이스의 phpMyAdmin에서 SQL 쿼리를 실행하여 다른 테이블에 해당 레코드가없는 레코드를 가져 오려고합니다.두 번째 테이블에 관계가없는 sql select 레코드

예.

**album** 
id, name 

**track** 
id, album_id, name 

상대 트랙 레코드가없는 모든 앨범 레코드가 필요합니다.

나는

SELECT album.id 
from album 
WHERE album.id NOT IN (
    SELECT track.album_id 
    FROM track 
    WHERE 1 
    GROUP BY track.album_id 
) 

을 시도했지만 불행하게도 이것은 내가 또한

SELECT a.id FROM album a 
INNER JOIN track t 
ON a.id = t.album_id 
WHERE t.id IS NULL 

을 시도

MySQL의 서비스를 충돌하지만이 작동하지 않습니다 예상 (결과를 반환하지 않습니다)

+1

내가 가입 LEFT 제안 할 수 있습니까? –

+1

내부 조인은 "두 레코드가 동일한 위치"를 의미합니다. 그래서 그것은 작동하지 않을 것이다. Zdavko가 막 게시했습니다 ... 왼쪽 외부 조인을 원합니다. 오른쪽에있는 것과 상관없이 왼쪽에이 모든 것을 제공합니다. –

+0

왼쪽 조인 남자! –

답변

7
SELECT a.id 
FROM album a 
LEFT JOIN track t ON a.id = t.album_id 
WHERE t.id IS NULL 
관련 문제