我需要使用连接或通过其他方式从表中的两行中取出单行。我有三个表Account,Account_Perm和User。帐户表具有一个名为AccountNum的字段,Account_Perm具有AccountNum,TeamRole和UserName的字段,用户表具有用户名。示例数据如下。在SQL Server中连接从表的两行中获取单行
- 帐户==> AccountNum = 1234,5678
- Account_Perm ==> AccountNum = 1234,TeamRole = TeamA; AccountNum = 1234,TeamRole = TeamB
- User ==> TeamRole = TeamA,UserName = John Smith; TeamRole = TeamB,UserName =“凯西布朗”。
我需要使用这些表和我的结果集与列(AccountNum,TeamRole,TeamRole)应该如下。
1234, John Smith, Casey Brown
通过使用加入,我能得到两行,1234,约翰·史密斯和1234,凯西·布朗。不过,我需要AccountNum,TeamA的用户名和TeamB的用户名单独记录。
有人可以帮忙吗?
查询:
SELECT
A.AccountNum,
A.TeamRole,
U.Name
FROM
Account A,
Account_Perm AA,
User U
WHERE
A.AccountNum = AA.AccountNum
AND AA.TeamRole IN ('TeamA', 'TeamB')
AND AA.UserName = U.Name;
'使用Join' ......请注明您目前的查询。您的数据非常难以阅读和理解。 –
选择A.AccountNum,A.TeamRole,U.Name 从账户A,Account_Perm AA,用户u WHERE \t A.AccountNum = AA.AccountNum AND \t \t AA.TeamRole IN( 'TeamA', 'TeamB' ) AND \t \t AA.UserName = U.Name –
您的数据和问题不清楚,甚至我甚至无法猜测答案。执行以下操作:_编辑_问题以表格形式显示示例数据,就像SQL查询返回一样,然后2)用示例结果显示示例输出表。你应该意识到,如果你一开始就这样做了,你可能已经有了答案。 –