私は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 の場合)、および電子メールをすべて 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;
これでほぼ完了ですが、連絡先の名前に電話番号も電子メールも含まれていない場合は除外されます。
データベースに電子メールまたは電話番号があるかどうかに関係なく、すべての連絡先を表示する必要があります。
どうすればこれを達成できますか?