MySQL помогите разобраться с множественным INNER JOIN:
Структура БД и схема запроса:
SELECT
identities_contact.`name` AS `ФИО`,
identities_contacttype.`name` AS `Тип`,
identities_contactfield.label AS `Параметр`,
identities_contactvalue.`value` AS `Значение`
FROM
identities_contact
INNER JOIN identities_contacttype ON identities_contacttype.object_ptr_id = identities_contact.contact_type_id
INNER JOIN identities_contacttype_fields ON identities_contacttype.object_ptr_id = identities_contacttype_fields.contacttype_id
INNER JOIN identities_contactfield ON identities_contactfield.object_ptr_id = identities_contacttype_fields.contactfield_id
INNER JOIN identities_contactvalue ON identities_contact.object_ptr_id = identities_contactvalue.contact_id
WHERE
identities_contact.related_user_id IS NULL
GROUP BY identities_contactvalue.`value`
Возвращает:
Company Company Address
Ольга Тадеушевна Павловская Person Address +37544111111
Евгений Трошкин Person Address +3754434445554
Иванов Иван Иванович Person Address +3754411111111
Евгений Трошкин Person Address jjoloka@gmail.com
Иванов Иван Иванович Person Address В. Гостинец, 100
Ольга Тадеушевна Павловская Person Address ул. В. Гостинец
Евгений Трошкин Person Address ул. Малинина 7
Должно возвращать:
Company Company Address
Ольга Тадеушевна Павловская Person Phone +37544111111
Евгений Трошкин Person Phone +3754434445554
Иванов Иван Иванович Person Phone +375445866777
Евгений Трошкин Person Mail jjoloka@gmail.com
Иванов Иван Иванович Person Address В. Гостинец, 124,26
Ольга Тадеушевна Павловская Person Address ул. В. Гостинец
Евгений Трошкин Person Address ул. Малинина 7
Тестовые данные для таблиц:
identities_contact:
24 21 Company 1
78 23 Иванов Null
identities_contactvalue:
11 16 78 ул.Мира 1
18 18 78 123456789
identities_contactfield:
16 phone АДРЕС phone 0
18 phone ТЕЛЕФОН phone 0
identities_contacttype:
23 Person person персональный
identities_contacttype_fields: (таблица для связывания групп полей и типов контактов)
9 22 19
10 23 16
11 23 17
12 23 18
13 23 19
14 23 20
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>