2010-02-22 4 views
0

서브 SELECT에 컬럼 이름이있는 SQL 문제가 있습니다. 이름을 아직 지정하지 않았기 때문에 그것을 다시 배치하는 방법을 찾을 수 없기 때문에 추측하고 있습니다. 부속하지만, 그 값의 보류를 얻을 수 없다 - Subselect 칼럼 유효하지 않은 문제

select Distinct Captains.Name, Captains.Team, (select count(Winners.Name) from (select HomeTeamCaptain As Name from fixture where fixture.HomeTeamCaptain = Captains.Name And fixture.matchResult = fixture.HomeTeam UNION ALL select AwayTeamCaptain As Name from fixture where fixture.AwayTeamCaptain = Captains.Name And fixture.matchResult = fixture.AwayTeam) As Winners) As Winners From (select fixture.HomeTeamCaptain As Name, HomeTeam As Team From fixture UNION ALL select fixture.AwayTeamCaptain As Name, AwayTeam As Team From fixture) As Captains order by Name; 

은 "Captains.Name"

내가는 카운트를 실행하는 데 필요한 문제입니다!

+0

안녕하세요. 스티브가 줄 바꿈을 추가하십시오. 읽을 수 없습니다. –

답변

2

이 나를 위해 작동합니다

select distinct Captains.Name, Captains.Team, 
    (select count(*) 
    from fixture 
    where 
     --I changed this a bit 
     (fixture.HomeTeamCaptain = Captains.Name And 
     fixture.matchResult = fixture.HomeTeam) 
    OR 
     (fixture.AwayTeamCaptain = Captains.Name And 
     fixture.matchResult = fixture.AwayTeam) 
    ) As Winners 

FROM (select fixture.HomeTeamCaptain As Name, HomeTeam As Team 
    from fixture 
    UNION ALL 
    select fixture.AwayTeamCaptain As Name, AwayTeam As Team 
    from fixture) AS Captains 
order by Captains.Name; 

당신은 ID로 Captains 표 참조 "홈"과 "비움"선장을 만드는 것이 좋습니다.

+0

덕분에 나는 그것을 지나치게 복잡하게 만들었습니다. 지금 내가 잘못 가고있는 것을 봅니다! 단! – Steve