我正在尝试根据连接表的值使用一个查询来查询多个表。
SELECT a.id,a.name,
IFNULL(b.imageurl, 'default image url') AS 'imageurl',
IFNULL(b.imagecategory, '34') AS 'imagecategory',
IFNULL(b.imagetype, 't') AS 'imagetype'
FROM summary a
LEFT JOIN images i ON a.id = b.id
WHERE b.imagetype = 'thumbnail' AND b.imagecategory = '99'
表“a”是主表,包含有关对象的各种信息。
表“b”由每个对象的多个图像 url 组成,使用“imagetype”和“imagecategory”过滤这些图像以仅匹配每个对象的一个图像。
仅当表“b”具有匹配的 id、imagetype 和 imagecategory 时,两个表的连接才有效。如果不是,则仅返回包含它们的表“a”中的记录,这不是我想要的。我希望表“b”返回使用 IFNULL 函数设置的默认值,因此即使该表缺少链接 id:s 的值,我也会得到完整的结果集。
我怎样才能做到这一点?