我有两张不同的牌桌。一个是Article
表,另一个是Gallery
表。该库包含多个图像,因此还有另一个名为images
的表(此处未显示)。 images
表中的图像使用外键gallery_id
链接到图库表。
现在我想要实现的是,在主页中,我需要文章和图库的综合结果。如果是文章,则会显示文章的缩略图,如果是图库,则会显示图库中的最后一个图像。
|Article |
|-----------|
|id |
|category_id|
|title |
|slug |
|filename |
|body |
|created |
|modified |
|Gallery|
|-----------|
|id |
|category_id|
|title |
|slug |
|body |
|created |
|modified |
我正在使用非常复杂的UNION
查询来实现它。但是我怎样才能对结果进行排序。是否可以使用ORDER BY
子句。可以使用OUTER JOIN
来实现结果吗?
答案 0 :(得分:1)
outer join
之类的声音在此处不适用,因为您希望结果位于一列中。联接将数据分为两列,联合将数据分成一列。
进行排序,你可以做这样的事情
Select id
, category_id
, title
, slug
, filename
, body
, created
, modified
From (
Select id
, category_id
, title
, slug
, filename
, body
, created
, modified
From Article
Union All Select id
, category_id
, title
, slug
, body
, created
, modified
From Gallery
) AllCombined
Order by AllCombined.title