Sql 在同一个表上编写包含两个约束的查询

Sql 在同一个表上编写包含两个约束的查询,sql,Sql,我知道我在问一些看似琐碎的问题,但我找不到答案,也找不到重复的问题。(我是这方面的新手)。 所以我正在努力 我有两张桌子 使用以下列测试表 1. storyID , authorID , assigneeID 2. userID , userName 我想写一个查询,返回storyID、作者ID的用户名、assigneeID的用户名 SELECT storyID, u1.userName AS authorName, u2.userName AS assigneeName FROM stor

我知道我在问一些看似琐碎的问题,但我找不到答案,也找不到重复的问题。(我是这方面的新手)。 所以我正在努力

我有两张桌子 使用以下列测试表

1. storyID , authorID , assigneeID
2. userID , userName
我想写一个查询,返回
storyID、作者ID的用户名、assigneeID的用户名

SELECT storyID, u1.userName AS authorName, u2.userName AS assigneeName 
FROM storytable s 
INNER JOIN usertable u1 ON s.authorID = u1.userID 
INNER JOIN usertable u2 ON s.assigneeID = u2.userID
上述解决方案仅在用户ID、assigneeID和authorID字段之间存在关系的情况下有效


上述解决方案仅在用户ID、assigneeID和authorID字段之间存在关系的情况下有效。

选择并创建第二个表的别名

SELECT a.storyID, b.userName, c.userName
FROM tablea a
INNER JOIN tableb b ON a.authorID = b.userID
INNER JOIN tableb c ON a.assigneeID= c.userID

选择并创建第二个表的别名

SELECT a.storyID, b.userName, c.userName
FROM tablea a
INNER JOIN tableb b ON a.authorID = b.userID
INNER JOIN tableb c ON a.assigneeID= c.userID

假设authorID=UserId

select 
     1.storyId, 
     author.userName,
     assignee.userName 
 from 1
 inner join 2 as author 
      on 1.authorId = 2.userId 
 inner join 2 as assignee
      on 1.assigneeID = 2.userID

假设authorID=UserId

select 
     1.storyId, 
     author.userName,
     assignee.userName 
 from 1
 inner join 2 as author 
      on 1.authorId = 2.userId 
 inner join 2 as assignee
      on 1.assigneeID = 2.userID

userID=authorID和(或)AssigneIyes。事实上,它们是从中吸取的教训:使用与父列相关的名称。例如,
author\u userid
assignment\u userid
将明确说明我们在谈论用户id。userid=authorID和(或)assigneIDYes。事实上,它们是从中吸取的教训:使用与父列相关的名称。例如,
author\u userid
assignment\u userid
将明确说明我们在谈论用户id。