2011-02-02 13 views
0

ためのクエリは、私は比較はリレーショナルテーブルにつながることができますレコードセットを取得したいのですが:のMySQL:比較

character_abilities 
id ability_id character_id 
1  1    43 
2  2    43 
3  5    43 
4  7    43 
5  8    43 
6  9    43 
7  1    75 
8  2    75 
9  3    75 
10 5    75 

私はこのような結果を取得したいと思います:

ability_id_1 character_id_1 ability_id_2 character_id_2 
1    43    1    75 
2    43    2    75 
NULL   NULL    3    75 
5    43    5    75 
7    43    NULL   NULL 
8    43    NULL   NULL 
9    43    NULL   NULL 
をこの結果の

私はこのような成功せず何かを考えた:

SELECT character_1.ability_id AS ability_id_1, character_1.character_id AS character_id_1, character_2.ability_id AS ability_id_2, character_2.character_id AS character_id_2 
FROM character_abilities AS character_1 
RIGHT JOIN character_abilities AS character_2 
ON character_2.character_id = 2 AND character_1.ability_id = character_2.ability_id 
WHERE character_1.character_id = 1 AND character_1.ability_id = character_2.ability_id 

残念ながら、これはのみ返します各キャラクターが共通する能力。

私の質問は次のとおりです。
結果の例のように各文字の小道具を取得するクエリをコーディングできますか? 文字ごとにクエリを作成してからマージする必要がありますか?

答えて