将表1中的值A加到表2中的值B和C

时间:2017-11-03 04:56:06

标签: sql sql-server tsql inner-join

我不确定之前是否已经解决了这个问题,但现在就去了。

我有Table [staff],其中包含员工姓名,号码,staffID列表 然后我有Tabe [条目],其中包含从工作人员收到的投票给其他工作人员的条目。该表仅显示投票的工作人员和被投票的工作人员。手机号码。

我想通过加入[staff]表来进行联接以显示哪个单元格编号属于工作人员。

/****** Script for SelectTopNRows command from SSMS  ******/ 

SELECT
    'Garden Court East Gate'
    ,[entries].[PropertyId]
    ,entries.[RatingCellNum] as 'Voting Staff Member Cell Number'
    ,staff.firstname as 'Votee'
    ,staff.Lastname as 'Voted For'
    ,entries.[ToRateCellNum] as 'Rated for Cell Number'
    ,staff.firstname as 'Votee Name'
    ,staff.Lastname as 'Voted Surname'
    ,entries.[MomentRatedFor] as 'Moments Value'      
    ,entries.[DateVoted] as 'Date'
    ,Entries.StaffNumber   

FROM [UD_SuperHero].[dbo].[Entries](nolock)   

INNER JOIN [UD_SuperHero].[dbo].[staff](nolock) on Entries.ToRateCellNum = staff.CellphoneNumber   
WHERE entries.PropertyId = '79'   
ORDER BY DateVoted desc

这可以将相关的工作人员与匹配的单元格编号链接到ToRateCellNum,但我不知道如何从匹配的职员表中获取匹配的工作人员以匹配RatingCellNum的单元格编号值< / p>

2 个答案:

答案 0 :(得分:0)

我想如果表格是两个不同的员工表,你就没有问题,这就是你如何处理这个问题。

使用两个不同的别名调用同一个表两次:

SELECT
    * 
FROM
    Entries
    INNER JOIN Staff as Voters ON Entries.StaffNumber = Voters.StaffID
    INNER JOIN Staff as Votees ON Entries.ToRateCellNum = Votees.CellNum

答案 1 :(得分:0)

SELECT * 
FROM Entries
JOIN Staff as Voters 
  ON Entries.StaffNumber   = Voters.StaffID
  OR Entries.ToRateCellNum = Voters.CellNum