AT
I have two profile tables and a name , the profile table contains some metadata related to the user. The name table contains all the possible names that the profile might have.
I am trying to create a MYSQL query that will give me profile.age, given name and last name for all profiles, even if they don't have a first or last name
Tables
Profile
+ ------- + --------- +
| ID | AGE |
+ ------- + --------- +
| 0 | 10 |
| 1 | 20 |
| 2 | 30 |
| 3 | 40 |
+ ------- + --------- +
Name
+ ------------ + -------- + -------- +
| PROFILE_ID | TYPE | NAME |
+ ------------ + -------- + -------- +
| 0 | 0 | Jo |
| 0 | 1 | Blog |
| 1 | 0 | Jim |
| 2 | 1 | Smith |
+------------+--------+--------+
Type 0 = Given Name
Type 1 = Family Name
Quert
, .
SELECT given.name AS 'given_name', family.name AS 'family_name', profile.age
FROM profile
LEFT OUTER JOIN name given ON profile.id = given.profile_id
LEFT OUTER JOIN name family ON profile.id = family.profile_id
WHERE given.type = 0
AND profile_id.type = 1
LIMIT 0 , 30
,
+------------+-------------+--------+
| GIVEN_NAME | FAMILY_NAME | ADE |
+------------+-------------+--------+
| Jo | Blog | 10 |
| Jim | NULL | 20 |
| NULL | Smith | 30 |
| NULL | NULL | 40 |
+------------+-------------+--------+
,
+------------+-------------+--------+
| GIVEN_NAME | FAMILY_NAME | AGE |
+------------+-------------+--------+
| Jo | Blog | 10 |
+------------+-------------+--------+
, , LEFT OUTER JOIN NULL. ? , joun NULL?