这两个表怎么合并出想要的结果,最后50分全给了,急!
表1.Cards 表2.Users
CardNo Owner(车主) User(使用者) ID Name
粤A101 1 2 1 麦迪
粤A102 4 3 2 姚明
粤A103 3 1 3 科比
4 纳什
显示结果
车牌 身份 姓名
粤A101 车主 麦迪
粤A101 使用者 姚明
粤A102 车主 纳什
粤A102 使用者 科比
粤A103 车主 科比
粤A103 使用者 麦迪
------解决方案--------------------Create Table Cards
(CardNo Nvarchar(20),
Owner Int,
[User] Int)
Create Table Users
(ID Int,
Name Nvarchar(20))
Insert Cards Select N '粤A101 ', 1, 2
Union All Select N '粤A102 ', 4, 3
Union All Select N '粤A103 ', 3, 1
Insert Users Select 1, N '麦迪 '
Union All Select 2, N '姚明 '
Union All Select 3, N '科比 '
Union All Select 4, N '纳什 '
GO
Select
A.CardNo,
N '车主 ' As 身份,
B.Name As 姓名
From
Cards A
Inner Join
Users B
On A.Owner = B.ID
Union
Select
A.CardNo,
N '使用者 ' As 身份,
B.Name As 姓名
From
Cards A
Inner Join
Users B
On A.[User] = B.ID
Order By
CardNo, 身份 Desc
GO
Drop Table Cards, Users
--Result
/*
CardNo 身份 姓名
粤A101 车主 麦迪
粤A101 使用者 姚明
粤A102 车主 纳什
粤A102 使用者 科比
粤A103 车主 科比
粤A103 使用者 麦迪
*/
------解决方案--------------------select 车牌,身份,B.Name 姓名 from(
select CardNo 车牌, '车主 ' 身份,