MySQL / PHP объединяет одну запись в несколько записей - PullRequest
0 голосов
/ 24 августа 2011

У меня есть таблица ABC с 3 полями: id1, id2, id3 с данными:

id1 | id2 | id3
________________
1   |  5  | 3
3   |  4  | 2
2   |  3  | 1

У меня есть вторая таблица с именем XYZ с 2 полями, id и заголовок с данными:

id |  title
______________
1  |  title_1 
2  |  title_2 
3  |  title_3
4  |  title_4
5  |  title_5

Идентификаторы в таблице ABC соответствуют идентификаторам каждой записи в таблице XYZ.То, что хотел бы сделать, это соединить идентификаторы в таблице ABC с идентификаторами в таблице XYZ и отобразить заголовки в строке.Поэтому, если первые две записи в таблице ABC будут выведены, это будет выглядеть следующим образом:

title_1, title_5, title_3
title_3, title_4, title_2

Вывод в PHP - это хорошо, я просто немного потерян с SQL.Я пытался использовать левые соединения, но я не слишком далеко продвинулся в этом.Любая помощь будет высоко ценится.

1 Ответ

3 голосов
/ 24 августа 2011

Вы можете присоединиться к одной и той же таблице несколько раз с разными условиями соединения:

SELECT xyz1.title as title1, xyz2.title as title2, xyz3.title as title3
FROM ABC
JOIN XYZ as xyz1 ON xyz1.id = ABC.id1
JOIN XYZ as xyz2 ON xyz2.id = ABC.id2
JOIN XYZ as xyz2 ON xyz3.id = ABC.id3

Это должно правильно вывести

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