表三什么用?不是前两个表就可以找出对应关系吗?
--
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
--
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
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
(
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
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
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
为什么不是从一个team_id为主键的表中查询呢?
为什么这样就不可以:
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语句中的,该怎么改呢?