我有一個複雜的查詢,我無法得到正確的答案。
有3個表:非常複雜的SQL查詢
接觸(PK爲INT,名爲VARCHAR,...)
會議(PK爲INT,接觸爲INT。 ..)
消息(PK爲INT,會議爲INT,...)
該session.contact
指向contact.pk
。並且message.session
到session.pk
。
當session.contact
爲零時,則此行不存在任何聯繫。 contact.pk
從不爲零。
現在我想要獲取特定消息的所有名稱。我的嘗試是這樣的:
SELECT message.pk,contact.name FROM消息,會議,請與message.session = session.pk AND session.contact = contact.pk
但我沒沒有得到正確的返回行數。它應該是2459,有2075.
一)這不是很複雜。 b)你怎麼知道正確答案是什麼?這是一個考試問題嗎? –
我認爲你需要外連接有時沒有條目的表(即在你的例子中'session.contact = contact.pk'不會找到匹配)。 – Marc
你是否試圖獲得沒有聯繫的記錄?您目前的查詢不會得到這些。這可能是你的缺陷 –