3
我是StackOverflow的新手,刚接触SQL Server时,希望您能帮我解决一些麻烦的问题。SQL查询问题
这是我的数据库结构(它的一半西班牙语,希望无所谓)
我的问题是,我不知道现在该怎么做一个查询,状态哪支球队是局部的,这是访问者(使用表TMatch,知道球场仅属于一个团队)
这是据我可以得到
Select P.NroMatch, (select * from fnTeam (P.TeamA)) as TeamA,(select * from fnTeam (P.TeamB)) as TeamB,
(select * from fnEstadium (P.CodEstadium)) as Estadium, (cast(P.GolesTeamA as varchar)) + '-' + (cast(P.GolesTeamA as varchar)) as Score,
P.Fecha
from TMatch P
使用此功能:
If object_id ('fnTeam','fn')is not null
drop function fnTeam
go
create function fnTeam(@CodTeam varchar(5))
returns table
return(Select Name from TTeam where CodTeam = @CodTeam)
go
select * from fnTeam ('Eq001')
go
----****
If object_id ('fnEstadium','fn')is not null
drop function fnEstadium
go
create function fnEstadium(@CodEstadium varchar(5))
returns table
return(Select Name from TEstadium where CodEstadium = @CodEstadium)
go
我希望我解释自己很好,我感谢你提前帮
编辑:
感谢您的帮助,这是我一直寻找
Select P.NroMatch,
CASE
WHEN Ts.CodTeam= Ta.CodTeamTHEN Ta.Name
ELSE Tb.Name
END
As TeamLocal,
CASE
WHEN Ts.CodTeam<> Ta.CodTeamTHEN Ta.Name
ELSE Tb.Name
END
As TeamVisitante,
Ts.Name as Estadium,
(cast(P.GolesTeamA as varchar)) + '-' + (cast(P.GolesTeamB as varchar)) as Score,
P.Fecha
from
TMatch P
join TTeamTa ON Ta.CodTeam= P.TeamA
join TTeamTb ON Tb.CodTeam= P.TeamB
join TEstadium Ts ON Ts.CodEstadium = P.CodEstadium
对不起,该datasabase是在链路(他们不”让新用户发布图片)。另外,如果TeamA和TeamB在TeamA体育场比赛,teamA是当地的 – brisonela 2011-03-06 23:59:33
抱歉,因为这么激烈,但问题在于“访客” – brisonela 2011-03-07 00:25:20
@Brisonela:我不知道你的意思? – 2011-03-07 00:27:19