2011-05-30 10 views
0

を与えましょう、私はこの結合があります。何らかの理由で二列の代わりに、1

select first_name, last_name, photo_path, private_messages, mid_thumb, 
bio_blurb, user_email 
from users 
left join member_photo on users.user_id = member_photo.photo_member_id 
left join user_email_options on users.user_id = user_email_options.email_user_id 
where user_id = 2 

、それは二列の代わりに、私は、ユーザー情報と予想される1行を提供します。私が行方不明になっていることは明らかですか?私は前に左結合の束をして、これに遭遇したことがない。結果セットに2つのアイテムがあるのはなぜですか?

は、ここでは、たとえばページに何が起こるかです:

http://www.comehike.com/community/hiker_public_profile.php?community_member_id=2

う - 二つのレコード。

+1

をUSER_IDに対応する複数の行が...私はあなたがチェックしたことを期待している、しかし、あなたが実行したときに何が起こるかのような音user_id = 2の場合は、各テーブルを個別にカウントしますか? – jswolf19

+0

テーブルにはどのような種類のインデックスが定義されていますか? –

答えて

3

member_photoまたはuser_email_optionsが、私はそれがあなたのテーブル内のデータに依存だと思う2

+0

はい、それらは行います - そのユーザーID、および結合された3つのテーブルのそれぞれにそれがあります。しかし、私はそれがちょうど1列になると考えました。 – Genadinik

+0

@Genadinik、私が言いたいことは、member_photo.photo_member_idの値が2つ以上の行を持っているか、user_email_options.email_user_idが2の値を持つ行が2つ以上あることです。 –

+0

ああ、バグを見つけやすくなりました!ありがとうございました! – Genadinik

関連する問題