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;
처럼 괄호 옆에 명칭을 붙여주면 된다.