2010-02-22 1 views
0

J'ai un problème sql avec les noms de colonne dans un sous-menu, car je ne peux pas lui attribuer ce nom mais je ne sais pas comment le réorganiser.Sous-sélection Colonne Numéro non valide

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; 

Le « Captains.Name » est la question que je besoin pour exécuter le comte - Subselect mais ne peut pas mettre la main sur sa valeur!

+0

Salut Steve, s'il vous plaît ajouter des sauts de ligne, c'est illisible. –

Répondre

2

Cela fonctionne pour moi:

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; 

Vous devriez envisager la création d'une table Captains et référence "Home" et capitaines "Away" par un identifiant.

+0

merci j'étais trop compliqué je vois où je me trompais maintenant! doux! – Steve