2017-11-03 13 views
0

これまでに対処されているかどうかは分かりませんが、ここには入ります。テーブル1から値Bへの値Aとテーブル2のCとの結合

私はスタッフ名、番号、staffIDのリストを含むTable [staff]を持っています。 次に、スタッフから他のスタッフに投票するために受け取ったエントリを含むTabe [Entries]があります。この表には、投票したスタッフメンバーと、「携帯電話番号」に投票したスタッフメンバーのみが表示されます。

[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

+0

親切にフォーマットされたテキスト内のサンプルデータおよび所望の結果を共有しています。 – zarruq

答えて

0

テーブルが2つの異なるスタッフテーブルであれば問題はないと思います。

次の2つの異なる別名で二回同じテーブルを呼び出します。

SELECT 
    * 
FROM 
    Entries 
    INNER JOIN Staff as Voters ON Entries.StaffNumber = Voters.StaffID 
    INNER JOIN Staff as Votees ON Entries.ToRateCellNum = Votees.CellNum 
0
SELECT * 
FROM Entries 
JOIN Staff as Voters 
    ON Entries.StaffNumber = Voters.StaffID 
    OR Entries.ToRateCellNum = Voters.CellNum 
関連する問題