select
a.mathId,
max(case a.zhuduiId when b.nameId then b.name end) as zhudui,
a.bifen,
max(case a.keduiId when b.nameId then b.name end) as kedui,
a.date
from
MATH a,NAME b
group by
a.mathId,a.bifen,a.date
select
a.mathId,
max(case a.zhuduiId when b.nameId then b.name end) as zhudui,
a.bifen,
max(case a.keduiId when b.nameId then b.name end) as kedui,
a.date
from
MATH a,NAME b
group by
mathId,bifen,date
Create Table MATH
(mathId int,
zhuduiId int,
keduiId int,
bifen Varchar(10),
[date] Varchar(10))
Create Table [NAME]
(nameId int,
[name] Nvarchar(20))
Insert MATH
Select 1, 1, 2, '2:0', '2006-11-22'
Insert [NAME] Select 1, N'不来梅'
Union All Select 2, N'切尔西'
GO
Select
B.[name] As zhuduiId,
A.bifen,
C.[name] As keduiId,
[date]
From
MATH A
Inner Join
[NAME] B
On A.zhuduiId = B.nameId
Inner Join
[NAME] C
On A.keduiId = C.nameId
GO
Drop Table MATH, [NAME]
--Result
/*
zhuduiId bifen keduiId date
不来梅 2:0 切尔西 2006-11-22
*/