3
、順に参加:左が私はこのようなクエリを持って、MySQLの最適化
SELECT m...., a...., r....
FROM 0_member AS m
LEFT JOIN 0_area AS a ON a.user_id = (SELECT user_id
FROM `0_area`
WHERE user_id = m.id
ORDER BY sec_id ASC LIMIT 1)
LEFT JOIN 0_rank as r ON a.rank_id = r.id
WHERE m.login_userid = '$username'
アイデアが参加0_areaテーブルから最初の行を取得し、それゆえ試みたインナーです。ただし、期待どおりに動作していません。
0_areaと0_memberの間に、0_member.id = 0_area.user_id。しかし、0_area.user_idの複数の行があり、最小値のsec_idを持つ行が必要です。
お願いします。
'sec_id'カラムは一意ですか? –
@ Scrum Meister sec_idはユニークではありませんが、ユニークな作成は役に立ちますか? –
@ jeremy-roy Nop、ちょうど尋ねる。 –