0

我有两张不同的桌子。一个是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吗?

4

1 回答 1

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
于 2013-08-07T16:16:27.660 回答