у меня 3 стола
[contact]
------------------
cID (PRIMARY KEY, INT) || name || lastupdate (TIMESTAMP)
[phone]
----------------------
cID (FOREIGN KEY, linked to contact.cID) || phonenumber || pID (phone number ID, since each contact can have many numbers)
[email]
------------------------
cID (FOREIGN KEY) || email
Мне нужно сделать запрос на выборку, который будет извлекать все cID каждого контакта, их имя, их номер телефона, если pID равен 1, и их электронную почту в одной таблице. Таким образом, вывод будет выглядеть, например, так.
cID | name | phone1 | email
----------------------------------------------
45 | John Smith | 1234567 | [email protected]
46 | Darth Vader | 9999999 | [email protected]
47 | Yoda | 1236547 |
-----------------------------------------------------------------------------
Я пытался сделать это так
SELECT contact.cID, name, phone, email FROM contact, phone, email
WHERE contact.cID = phone.cID AND contact.cID = email.cID AND phone.pID = 1;
Это почти так и есть, но если у контакта нет ни номера телефона, ни адреса электронной почты рядом с его именем, они будут исключены.
Мне нужно показать все контакты, независимо от того, есть ли у них адрес электронной почты или адрес электронной почты. номер телефона в базе.
Как я могу это сделать?