[MySQL] Every derived table must have its own alias 오류 해결

smlee·2022년 6월 1일
0

에러 일지

목록 보기
2/24


MySQL로 쿼리문을 짜던 도중 위와 같은 오류를 만났다.
밑은 내가 짠 쿼리문이다.

SELECT * FROM
    ChannelCommunity C inner join
        (
            SELECT description, createdAt, updatedAt, contentUrl, communityId
            FROM (
                YoutubeCommunityPosts YCP inner join YoutubeCommunityPostContents YCPC
                on YCP.postId = YCPC.postId
                 )
        ) on C.communityId = communityId;

이는 모든 테이블들은 명칭이 있어야하는데, 서브 쿼리문의 명칭이 존재하지 않기 때문이다.

즉, ChannelCommunity와 inner join하는 서브쿼리문의 결과물인

SELECT description, createdAt, updatedAt, contentUrl, communityId
FROM (
       YoutubeCommunityPosts YCP inner join YoutubeCommunityPostContents YCPC
       on YCP.postId = YCPC.postId
)

의 명칭이 없기 때문이다.

SELECT * FROM
    ChannelCommunity C inner join
        (
            SELECT description, createdAt, updatedAt, contentUrl, communityId
            FROM (
                YoutubeCommunityPosts YCP inner join YoutubeCommunityPostContents YCPC
                on YCP.postId = YCPC.postId
                 )
        ) PostContents on C.communityId = PostContents.communityId;

처럼 괄호 옆에 명칭을 붙여주면 된다.

0개의 댓글