表三什么用?不是前两个表就可以找出对应关系吗?
--
select Game_id,
(select Team_name from Team where Team_id = a.HostTeam_id) Team_name1,
(select Team_name from Team where Team_id = a.VisitingTeam_id) Team_name2
from Game 

解决方案 »

  1.   

    --前面少了别名
    select Game_id,
    (select Team_name from Team where Team_id = a.HostTeam_id) Team_name1,
    (select Team_name from Team where Team_id = a.VisitingTeam_id) Team_name2
    from Game a
      

  2.   

    select c.Game_id,b.Team_name1,b.Team_name2 from
    (
    select Game_id,
    (select Team_name from Team where Team_id = a.HostTeam_id) Team_name1,
    (select Team_name from Team where Team_id = a.VisitingTeam_id) Team_name2
    from Game a
    ) b,LayOut c where b.Game_id = c.Game_id
      

  3.   

    表三中其实还有很多其它的字段,我没有列出来。必须根据表三得到其对应的Team_name。
      

  4.   

    执行了烛光兄的最后一个语句,报错如下:
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
      

  5.   

    这样好象可以:
    select c.Game_id,b.Team_name1,b.Team_name2 from
    (
    select Game_id,
    (select Top 1 Team_name from Team where Team_id = a.HostTeam_id) Team_name1,
    (select Top 1 Team_name from Team where Team_id = a.VisitingTeam_id) Team_name2
    from Game a
    ) b,LayOut c where b.Game_id = c.Game_id
      

  6.   


    为什么不是从一个team_id为主键的表中查询呢?
      

  7.   

    麻烦大家帮我也看看,一直没有解决的问题。
    为什么这样就不可以:
    1.
    select a.id,a.price,sum(b.price) as bsum from a,b where a.formid=b.formid group by a.id order by sum(b.price) desc
    错误信息:
    Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' 
    ODBC 驱动程序不支持所需的属性。 而这样就可以,只是再group by a.id,a.price
    2.
    select a.id,a.price,sum(b.price) as bsum from a,b where a.formid=b.formid group by a.id,a.price order by sum(b.price) desc但是我要的效果是1语句中的,该怎么改呢?