Как объединить в одну строку таблицы представления данные из одной строки первой таблицы и нескольких строк(которые соответствуют первой) второй?
Как объединить в одну строку таблицы представления данные из одной строки первой таблицы и нескольких строк(которые соответствуют первой) второй таблицы?
Смысл в том что если я используют простой GROUP BY id, тогда две строки второй таблицы отпадут, а мне надо их показать. Грубо говоря надо создать такую таблицу представления, которая в одной строке будет хранить: а. данные(ячейки) строки первой таблицы; b. и необходимые данные (яйки) второй таблицы..
У меня есть вариант, но он слишком банальный, и явно с ним что то не так..
CREATE VIEW phonebook AS
SELECT u.id,
u.name,
u.born,
(
SELECT p.phone
FROM phones
WHERE p.phone_type = 1
)
AS home,
(
SELECT p.phone
FROM phones
WHERE p.phone_type = 2
)
AS work,
(
SELECT p.phone
FROM phones
WHERE p.phone_type = 3
)
AS mob
FROM users AS u
LEFT JOIN
phones AS p
WHERE u.id = p.owner
GROUP BY u.id;
