我試圖顯示成員記錄列表,並且我有幾張表格用於顯示我需要的內容。MySQL子查詢 - 在左加入中只查找第一條記錄
這是很容易的部分。我需要幫助的部分是對每個成員記錄都有許多記錄的表格:登錄歷史記錄
我想只顯示登錄歷史記錄表中存在的每個成員記錄的第一行。或者,我可能想翻動翻牌並在登錄歷史記錄表中顯示最後一條記錄。
這裏就是我這麼遠:
SELECT m.memberid, m.membername, m.gender, mp.phone
FROM tbl_members m,
tbl_members_phones mp,
tbl_members_addresses ma
WHERE m.defaultphoneid = mp.phoneid
AND m.defaultaddressid = ma.addressid
所以返回要的是什麼。
從tbl_members_login_history
我想添加到返回的結果是:mh。 loggedtime
,mh。 ipaddy
我知道加入tbl_members_login_history
作爲LEFT JOIN將返回重複的,所以我想一定有這裏的子查詢的必要性,以只返回第一個記錄爲memberid
存在於tbl_members_login_history
。
我擔心的是如果歷史表中沒有記錄存在,我仍然想要顯示該成員信息,但將歷史列保留爲NULL。
這是一個子查詢事件嗎?如果是這樣,那麼如何添加這種LIMIT?
出於好奇,是一個成員所需的電話和地址?如果沒有,我不認爲你的查詢會返回其他成員信息,如果其中一個人錯過了它的寫作方式。 – Sam
在這種情況下,是的。但是你是對的,如果沒有現有記錄,成員將不會被返回。 – coffeemonitor