如何从表中填充数据,具体取决于另一个表

时间:2014-06-09 07:06:16

标签: sql postgresql

我的问题非常直接,

我有一个名为FAQ_MASTER的表,其中包含faqs

的数据

我有另一个表命名FAQ_OVERRIDE,其中包含来自不同表的外键business_id的覆盖常见问题数据

现在我想填充FAQ_MASTER中的数据,如果FAQ_OVERRIDE 根据从会话变量中提取的 company_id 填充数据

如果FAQ_OVERRIDE正在填充数据,则不需要从FAQ_MASTER填充数据。

我想在postreSQL中运行查询

我尝试了什么:

select 
        * 
    from
        (

            SELECT

            distinct fm.faq_uid as faqUid,

            case 
                when fm.qa_text is not null then fm.qa_text 
                else fm.qa_text 
            end as qaText,
            case 
                when fm.sort_order is not null then fm.sort_order
                else fm.sort_order 
            end as sortOrder,

            fm.end_date as endDate



            FROM rnr.faq_master fm

        ) faq_qry

        left outer join rnr.company_faq_override fo on faq_qry.faqUid = fo.faq_override_uid and fo.mp_company_uid = 734

        WHERE 

        faq_qry.endDate is null 

        AND

        (

        faq_qry.mp_company_uid is null or fo.mp_company_uid = 734

        )   

        ORDER BY 

        faq_qry.sortOrder

0 个答案:

没有答案