我有 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 | john.s@test.com
46 | Darth Vader | 9999999 | vader@deathstar.org
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;
这几乎可以做到,但如果联系人没有电话号码或姓名的电子邮件,那么他们将被排除在外。
无论天气如何,我都需要显示所有联系人,他们在数据库中有电子邮件或电话号码。
我怎样才能做到这一点?