我只需要两个相应的表格中选择一行,例如,MySQL的:左连接但从连接表
成员表中选择一个特定的项目,
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
这可能吗?
谢谢。
编辑:
谢谢你们的建议。你们中许多人使用和建议 - 例如,和profile_picture.image_approved =“是”
它只能当图像出现。但如果图像不存在,则即使在图像不存在的情况下它应该如下输出,输出中也没有任何内容。
member_id member_name image_id image_approved
1 xxx null null
再次感谢!
结果将不包括成员0的图像。 – ksogor 2010-11-29 13:43:01
从他的问题来看,听起来不像是这种情况,但这很容易解决。只需将JOIN更改为LEFT JOIN并将image_approved条件置于ON子句(当前为USING子句) – 2010-11-29 13:44:35