ВНУТРЕННИЙ или ЛЕВЫЙ, объединяющий несколько записей таблицы в одну строку
Телефон стол
+----------------+-------------+ | Field | Type | +----------------+-------------+ | f_id | int(15) | | f_client_id | int(11) | | f_phone_type | varchar(50) | | f_phone_number | varchar(13) | +----------------+-------------+
Таблица клиентов
+-----------------------------+--------------+------+-----+ | Field | Type | Null | Key | +-----------------------------+--------------+------+-----+ | f_id | int(15) | NO | PRI | | f_first_name | varchar(13) | YES | MUL | | f_mi | char(1) | YES | | | f_last_name | varchar(20) | NO | MUL | +-----------------------------+--------------+------+-----+
Предположения:
Каждая запись в «Таблице телефонов» принадлежит одной записи в «Таблице клиентов».Каждая запись в «Таблице клиентов» может содержать 0 или более записей в «Таблице телефонов».Простой перевод: клиент может иметь 0 или более телефонных номеровСо стандартным LEFT или INNER соединением я получаю что-то вроде этого:
+------------+------------+--------------+ | name | Phone Type | Phone Number | +------------+------------+--------------+ | John Smith | Home | 712-555-6987 | | John Smith | Work | 712-555-1236 | +------------+------------+--------------+
Мне нужен запрос, который даст мне рабочие и домашние номера, которые принадлежат данному клиенту:
+------------+----------------+--------------+ | Name | Work Number | Home Number | +------------+----------------+--------------+ | John Smith | 712-555-1236 | 712-555-6987 | +------------+----------------+--------------+
Можно ли выполнить ЛЕВОЕ или ВНУТРЕННЕЕ объединение, а затем объединить эти результаты в одну строку? Я видел похожие вопросы по этому вопросу, но приведенные примеры были гораздо более сложными, чем то, что я делаю:
Похожие вопросы
MySQL Нужна помощь в построении запроса: объединить несколько таблиц в одну строкуSQL оставил соединение с несколькими строками в одной строкеСпасибо