我有以下2表:
A)桌子
下列的
ID fkUserName follow_fkUserName
用户资料
ID fkUserName 姓名 姓
B)我想做什么
我想按如下方式加入这两个表:
ID User_fkUserName 用户名 用户名 Followed_fkUserName Followed_Name Followed_Surname
C)我的问题:
我的问题是,当我尝试通过视图加入时,没有得到预期的结果。
我最终希望得到以下结果:
ID User_fkUsername User_Name User_Surname Followed_fkUserName Followed_Name Followed_Surname 1粒Paul Paul Bean mWhite玛丽·怀特
D)我正在使用的代码:
以下是我用于联接的代码:
创建视图[dbo]。[vwFollowingUsers] 选择 援助, b。名称User_Name, c。姓氏User_Surname, d.Name Followed_Name, e.Surname Followed_Surname 从跟随 左联接UserProfile b在a.fkUserName = b.fkUserName上 左联接UserProfile c ON a.fkUserName = c.fkUserName 左联接UserProfile d ON a.follow_fkUserName = d.fkUserName 左联接UserProfile e ON a.follow_fkUserName = e.fkUserName
E)这就是我得到的:
vwFollowingUsers
ID用户名已关注名称 1保罗·玛丽
我在关注这个问题
F)更新代码
在我将问题发布到这里之后,我按照以下步骤更新了代码:
创建视图[dbo]。[vwFollowingUsers] 选择 援助, B.fkUserName AS User_fkUserName, B.Name AS用户名, B.Surname AS User_Surname, C.fkUserName AS Followed_fkUsername, C.Name AS Followed_Name, C.Surname AS Followed_Surname 从跟随A 内连接UserProfile B ON A.fkUserName = B.fkUserName 内连接UserProfile C ON A.follow_fkUserName = C.fkUserName;
G)实际数据:
这是实际数据(按要求)
下列的
ID fkUsername follow_fkUserName 2 [email protected] [email protected]
用户资料
ID UserPhoto说明fkUserName名称姓 1 ../Files/nich.jpg测试[email protected] Nich White 2 ../Files/nich2.jpg null [email protected] Nich2 White2 3 ../Files/steph.jpg null [email protected] Stephania Borg
我正在使用Visual Studio,并且尝试创建一个视图,该视图将为我的问题的G部分提到结果。
您只需加入UserProfile 1次2次即可为用户获取数据,而为关注者又一次。
试试这个:
CREATE VIEW [dbo].[vwFollowingUsers]
AS SELECT A.id,
B.fkUserName AS User_fkUserName,
B.Name AS User_Name,
B.Surname AS User_Surname,
C.fkUserName AS Followed_fkUserName,
C.Name AS Followed_Name,
C.Surname AS Followed_Surname,
FROM Following A
LEFT JOIN UserProfile B ON A.fkUserName = B.fkUserName
LEFT JOIN UserProfile C ON A.follow_fkUserName = C.fkUserName;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句