兩張表,左連接。用於緩解表1和表2.SQL左連接返回最近行
表1包含人員及其當前狀態的列表,表2是其所有「邀請」。所有即時通訊嘗試作爲連接的一部分在列表中顯示所有當前的「人員」,然後顯示最新的邀請狀態(從表2),因此返回表2中的單個行。
我有一切正常工作。 ..但它的複製,例如,如果一個人有多個邀請它會把他們兩次的名單。我只是想限制它到
$sql = "SELECT table1.fieldname as table1fielname table2.fieldname [more fields]
FROM xxx
LEFT JOIN xxx on table1.sharedid=table2.sharedid
WHERE XXX LIMIT 1 ";`
Obvioulsy極限1不做它應該的。我試圖在括號中添加額外的選擇語句,但說實話它只是打破了一切,我根本不是專家。
使用DISTINCT和/或GROUP BY,如果你想避免重複 –
如果您只需要從表2一個領域,你可以用被設計爲一個子查詢做到這一點先選擇,然後按最新日期排序子查詢。 'SELECT table1.fieldname,(SELECT FIRST table2.invitestatus FROM table2 WHERE table1.shareid = table2.shareid ORDER BY table2.date desc)AS InviteStatus FROM ... WHERE ...' –
@LudvigRydahl感謝您的建議,儘管im仍然努力讓它工作 - 你的方式或你說刪除加入?還是保留它? – it05jb