MySQL: запросы для сравнения - PullRequest
       8

MySQL: запросы для сравнения

0 голосов
/ 03 февраля 2011

Я хотел бы получить набор записей, в котором я могу сделать результат сравнения с реляционной таблицей:

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

К сожалению, это возвращает только способности, которые есть у каждого персонажа.

Мои вопросы:
Могу ли я кодировать запрос, чтобы получить каждый символ реквизит, как в приведенном примере?Должен ли я сделать запрос на символ, а затем объединить их?

1 Ответ

0 голосов
/ 03 февраля 2011

Если я понимаю вопрос, это звучит как кандидат на ПОЛНОЕ НАРУЖНОЕ СОЕДИНЕНИЕ, которого нет в MySQL. См. Этот вопрос для альтернатив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...