【发布时间】:2011-05-17 07:05:35
【问题描述】:
例如,我只需要从两个对应的表中选择一行,
成员表,
member_id member_name
1 xxx
2 yyy
profile_picture 表
image_id member_id image_approved
1 1 no
2 1 no
3 1 yes
我想每次从成员表中选择一行,并从 profile_picture 中选择一张批准的图像。我正在使用左连接,但它不能正常工作,因为当该成员有超过 1 个上传的图像时,它会复制所选成员。棘手的部分是我只想选择已批准的图像,并且总是一张图片将被批准。
SELECT *
FROM member
LEFT JOIN profile_picture
ON profile_picture.member_id = member.member_id
WHERE member.member_id = '1'
我想把它作为输出,
member_id member_name image_id image_approved
1 xxx 3 yes
有可能吗?
谢谢。
编辑:
感谢大家的建议。许多人建议使用 AND - 例如,AND profile_picture.image_approved = 'yes'
它仅在图像存在时才有效。但是如果图像不存在,则输出中没有任何内容,即使如果图像不存在,它应该像下面这样输出。
member_id member_name image_id image_approved
1 xxx null null
再次感谢!
【问题讨论】:
标签: sql select mysql left-join