2017-05-31 14 views
0

同じテーブルのデータに応じてデータを選択する方法がわかりません。私はではなく、idを超える名で承認を取得したいと思い同じテーブルのデータに応じてデータを選択

id claimant approver_id 
1  A   4 
2  B   4 
3  C   1 
4  D   1 

は、私は、このテーブルを持っています。どうすればこれを達成できますか?

それはこのようなものでなければなりません:

id claimant approver_id approver 
1  A   4   D 
2  B   4   D 
3  C   1   A 
4  D   1   A 

答えて

1
SELECT a.id, a.claimant, a.approver_id, b.claimant AS approver 
FROM tab AS a 
JOIN tab AS b ON a.approver_id = b.id 
1

使用条件と同じテーブルにJOINと承認者ごとに異なるそれに名前を付けるために、あなたの列の別名。これは自己結合と呼ばれます。 D:

select t.claimant, t.approver_id, k.claimant AS approver 
from yourtable t 
join yourtable k on t.approver_id = k.id 
+2

おっとまったく同じ答え、あなたは1秒速く私よりもあります – SIDU

関連する問題