如何将一个表列记录追加到SQL Server的第二个表中?

时间:2016-07-04 10:14:09

标签: sql sql-server-2008

我有两张桌子:

员工

EmployeeID    First Name  Last Name
------------------------------------
    1            ABC          XYZ        
    2            DEF          LMN
    3            GHI          OPQ 

会话

ConversationId   FromUser    ToUser
-----------------------------------
    11              1          2
    22              1          3
    33              2          1
    44              3          2

我想要输出如下

ConversationId    FromUserId    ToUserId    FromUser    ToUser
---------------------------------------------------------------
     11              1             2          ABC         DEF
     22              1             3          ABC         GHI
     33              2             1          DEF         ABC
     44              3             2          GHI         DEF

3 个答案:

答案 0 :(得分:1)

将Employee表加入两次,一次为来自用户,一次为用户。

select c.*, fu.firstname, tu.firstname
from conversation c
join Employee fu on c.FromUser = fu.EmployeeID
join Employee tu on c.ToUser = tu.EmployeeID

答案 1 :(得分:1)

试试这个,

SELECT c.conversationId
    ,c.Fromuser AS FromUserId
    ,c.ToUser AS ToUserId
    ,frm.FirstName AS FromUser
    ,t.FirstName AS ToUser 
FROM conversation c
INNER JOIN employee frm ON c.fromuser = frm.EmployeeId
INNER JOIN employee t ON c.touser = t.EmployeeId

答案 2 :(得分:1)

SELECT A.* , B.FIRSTNAME FromUser , C.FIRSTNAME ToUser FROM 
conversation A LEFT JOIN EMPLOYEE B ON 
A.FromUser =  B.EmployeeID    
LEFT JOIN        
EMPLOYEE C ON A.ToUser = B.EmployeeID