Phone Table
+----------------+-------------+ | Field | Type | +----------------+-------------+ | f_id | int(15) | | f_client_id | int(11) | | f_phone_type | varchar(50) | | f_phone_number | varchar(13) | +----------------+-------------+
Clients Table
+-----------------------------+--------------+------+-----+ | 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 | +-----------------------------+--------------+------+-----+
Assumptions:
- Each record in 'Phone Table' belongs to one record in 'Clients Table'.
- Each record in 'Clients Table' can have 0 or more records in 'Phone Table'.
- Simple Translation: A client can have 0 or more phone numbers
With a standard LEFT or INNER join, I get something like this:
+------------+------------+--------------+ | name | Phone Type | Phone Number | +------------+------------+--------------+ | John Smith | Home | 712-555-6987 | | John Smith | Work | 712-555-1236 | +------------+------------+--------------+
I need a query that will give me the work and home numbers that belong to a given client:
+------------+----------------+--------------+ | Name | Work Number | Home Number | +------------+----------------+--------------+ | John Smith | 712-555-1236 | 712-555-6987 | +------------+----------------+--------------+
Is it possible to do a LEFT or INNER join and then merge those results into a single row? I've seen similiar questions on this, but the examples given were much more complex than what I'm after:
Similiar Questions
- http://stackoverflow.com/questions/2485210/mysql-need-help-constructing-query-join-multiple-tables-into-single-row
- http://stackoverflow.com/questions/2561280/sql-left-join-with-multiple-rows-into-one-row
Thanks