我有这样的查询:
SELECT tm.first_name, tm.last_name, tm.id, i.thumb
FROM team_members tm, images i, tm_image tmi
WHERE tm.id = tmi.tm_id AND tmi.image_id = i.id
效果很好,我找回了这个名字等以及通过这样的表链接到个人的图像:
individual_id -> individual_id - image_id <- image_id
问题是,如果个人没有附加图像,则查询不返回任何内容。我想要的是,如果没有图像数据,查询只返回NULL。我会使用if语句吗?
谢谢!
答案 0 :(得分:2)
你需要做一个LEFT JOIN来解决你的问题
SELECT tm.first_name, tm.last_name, tm.id, i.thumb
FROM team_members tm
LEFT JOIN tm_image tmi ON (tmi.image_id = i.id)
LEFT JOIN images i ON (tm.id = tmi.tm_id);
未经测试,可能包含错误。
如果成员没有图片,则使用上面的查询tm.id
和i.thumb
的值均为NULL
您可以在此处找到一些示例:http://phpweby.com/tutorials/mysql/32
答案 1 :(得分:2)
使用LEFT JOIN
。像这样:
SELECT
tm.first_name,
tm.last_name,
tm.id,
i.thumb
FROM
team_members tm
LEFT JOIN tm_image tmi
ON tm.id = tmi.tm_id
LEFT JOIN images i
ON tmi.image_id = i.id