我有一个查询,看起来像这样:为MySQL查询条件过滤器
select a.title, is.filename
from articles a
join article_images ai on ai.article_id = a.article_id
join images i on i.image_id = ai.image_id
join image_sizes is on is.image_id = i.image_id
where is.size_name = '96x96';
所以有一个N:N文章和图片之间的关系,以及N:图像和图像尺寸之间的关系1 。这为每篇文章选择96x96图像。
现在我想改变它,所以它选择96x96图像,除非article_id
是42,在这种情况下,它选择不同的大小。有没有办法在一个查询中做到这一点?
这肯定会起作用,但值得注意的是,使用其他答案中建议的UNION应该在MySQL中稍微快一点。或者可以阻止正在使用的索引。 – Simon 2010-02-11 22:38:27
谢谢,这个作品很棒。 'UNION'答案也很好,但在这种情况下,我对可读性比效率更感兴趣,这对我来说更有意义。 – friedo 2010-02-11 23:05:31