Skip to content

Instantly share code, notes, and snippets.

@EnTeQuAk
Created November 26, 2015 11:39

Revisions

  1. EnTeQuAk created this gist Nov 26, 2015.
    20 changes: 20 additions & 0 deletions feed.sql
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    select * from (
    select distinct on (id) * from (
    select core_feeditem.id, COALESCE(recipes_recipe_translation.republished_at, recipes_recipe_translation.published_at) as "ordering"
    from core_feeditem
    join recipes_recipe on core_feeditem.id = recipes_recipe.feeditem_ptr_id
    join recipes_recipe_translation
    on recipes_recipe.feeditem_ptr_id = recipes_recipe_translation.master_id
    join unnest(array['de','en']) with ordinality as u(lang,priority) on recipes_recipe_translation.language_code=u.lang

    union all

    select core_feeditem.id, COALESCE(articles_article_translation.republished_at, articles_article_translation.published_at) as "ordering"
    from core_feeditem
    join articles_article on core_feeditem.id = articles_article.feeditem_ptr_id
    join articles_article_translation
    on articles_article.feeditem_ptr_id = articles_article_translation.master_id
    join unnest(array['de','en']) with ordinality as u(lang,priority) on articles_article_translation.language_code=u.lang
    ) a
    ) b
    order by ordering desc