2014-07-23 5 views
-1

이 SQL 문에 무엇이 잘못되었는지 알고 싶습니다.이 SQL 문을 수정하고 있습니까?

select * 
    from 
      select * from Actors where Actors.Name = "John Twain" 
    inner join 
      ActorRoles on Actors.ActorID = ActorRoles.ActorID 
    inner join 
      Movies on  ActorRoles.MovieID=Movies.MovieID 
+4

아마 inner select 문 주위에 need()가 필요합니다. 그러나 이것은 가난하게 말한 질문입니다. – WillardSolutions

+0

나는 아래 표의 이유를 알고 싶습니다. – Rajeshwar

답변

4
select * 
    from 
      (select * from Actors where Actors.Name = "John Twain") AS Actors 
    inner join 
      ActorRoles on Actors.ActorID = ActorRoles.ActorID 
    inner join 
      Movies on  ActorRoles.MovieID=Movies.MovieID 

이 같은 서브 쿼리가 필요()와 "새로운"결과 테이블의 테이블 별칭.

그러나 이것은 더 :

select * 
    from Actors 
    inner join 
      ActorRoles on Actors.ActorID = ActorRoles.ActorID 
    inner join 
      Movies on  ActorRoles.MovieID=Movies.MovieID 
where Actors.Name = "John Twain" 
+0

답변으로 표시 됨 – Rajeshwar

+0

@Rajeshwar 문제 없습니다. 하지만 당신은 대답으로 표시하지 않은 것 같지만, 아마 그냥 upvoted? –

0

간단하지 왜?

SELECT * 
FROM Actors 
INNER JOIN ActorRoles ON Actors.ActorID = ActorRoles.ActorID 
INNER JOIN Movies ON ActorRoles.MovieID = Movies.MovieID 
WHERE Actors.NAME = "John Twain" 
관련 문제