• SQL查询


    粘上我前段时间写的sql语句

    select distinct
    t1.mcs_cre_credit_head_id,
    t2.mcs_cre_credit_line_customer_change_head_id,
    t1.bill_code,t2.customer_code,
    t2.customer_name,
    (CASE t2.has_married WHEN 'wh' THEN '未婚' WHEN 'yh' THEN '已婚' WHEN 'ly' THEN '离异' WHEN 'so' THEN '丧偶' END) has_married,
    (CASE t2.gender WHEN '1' THEN '' WHEN '0' THEN '' ELSE '请选择' END) AS gender,
    (CASE t2.max_degree WHEN '1' THEN '初中及一下' WHEN '2' THEN '高中' WHEN '3' THEN '专科' WHEN '4' THEN '本科' WHEN '5' THEN '硕士及以上' WHEN '0' THEN '请选择' END) max_degree,
    (CASE t4.work_unit_property WHEN 'gy' THEN '国营' WHEN 'my' THEN '民营' WHEN 'sy' THEN '私营' WHEN 'sz' THEN '三资' WHEN 'hh' THEN '合伙' WHEN 'gt' THEN '个体' WHEN 'qt' THEN '其他' ELSE '请选择' END) work_unit_property,
    t5.comp_industry,
    t4.work_unit_duty,
    t6.house_address_city,
    t6.house_address_district,
    t6.house_address_province,
    t6.house_building_area,
    t8.rev_contact_number,
    (CASE t8.credit_record_type WHEN '1' THEN '' WHEN '0' THEN '' ELSE '请选择' END) AS credit_record_type,
    t8.rev_outstanding_loan,
    t7.original_borrower_record,
    (CASE t9.processing_form WHEN '320' THEN '罚款' WHEN '321' THEN '拘役管制' WHEN '322' THEN '劳动教养' WHEN '323' THEN '刑罚' ELSE '请选择' END) AS processing_form,
    (CASE t9.involve_problem WHEN '317' THEN '不良行为' WHEN '319' THEN '刑事案件' WHEN '318' THEN '人身伤害' ELSE '请选择' END) AS involve_problem,
    t10.execute_target,
    (CASE t1.hasconmpre WHEN '302' THEN '单人贷' WHEN '303' THEN '共同2人' WHEN '304' THEN '3人以上' ELSE '请选择' END) AS '共贷情况',
    (CASE t1.cre_loan_type WHEN '110' THEN '佳英贷' WHEN '111' THEN '佳楼贷' WHEN '112' THEN '佳薪贷' WHEN '113' THEN '佳业贷' ELSE '请选择' END)cre_loan_type,
    t2.birthday,
    t2.id_card,
    t12.aver_balance,
    t12.aver_payment,
    t12.month_payment,
    t13.unpay_loan_amount,
    t13.unpay_loan_num,
    t13.unpay_loan_balance,
    t13.credit_card_total_amount,
    t13.credit_card_most_amount,
    t13.credit_have_amount,
    t13.three_overdue_card_num,
    t13.six_overdue_card_num,
    t13.one_year_overdue_rate,
    t13.two_year_overdue_rate,
    t13.cur_overdue_card_amount,
    t13.three_apply_time,
    t13.six_apply_time,
    t13.year_apply_time,
    t13.guarantee_amount,
    (CASE t13.ecurity_state WHEN '287' THEN '正常' WHEN '288' THEN '关注' WHEN '289' THEN '次级' WHEN '290' THEN '可疑' WHEN '291' THEN '损失' ELSE '请选择' END) ecurity_state,
    t1.credit_purpose,
    (CASE t14.borrower_quality WHEN '179' THEN '优质' WHEN '180' THEN '较好' WHEN '181' THEN '一般' WHEN '182' THEN '较差' ELSE '请选择' END)borrower_quality,
    t14.max_repayment_limit_per_month,
    (CASE t14.where_house_card WHEN '1' THEN '房产局' WHEN '2' THEN '本人' WHEN '3' THEN '调档' WHEN '4' THEN '银行' WHEN '5' THEN '未下来' ELSE '请选择' END) where_house_card,
    t15.is_authenticity,
    t15.evalu,
    t15.is_coordination,
    t15.contact_quality,
    (CASE t14.couple_compensation WHEN '187' THEN '愿意' WHEN '188' THEN '不愿意' WHEN '189' THEN '' ELSE '请选择'  END) couple_compensation,
    (CASE t14.parents_compensation WHEN '190' THEN '愿意' WHEN '191' THEN '不愿意' WHEN '192' THEN '' ELSE '请选择'  END)parents_compensation,
    (CASE t14.children_compensation WHEN '193' THEN '愿意' WHEN '194' THEN '不愿意' WHEN '195' THEN '' ELSE '请选择'  END)children_compensation,
    (CASE t14.couples_attitude WHEN '311' THEN '同意' WHEN '312' THEN '不同意' WHEN '313' THEN '不管' WHEN '314' THEN '' ELSE '请选择' END) couples_attitude,
    (CASE t14.parents_attitude WHEN '311' THEN '同意' WHEN '312' THEN '不同意' WHEN '313' THEN '不管' WHEN '314' THEN '' ELSE '请选择' END) parents_attitude,
    (CASE t14.children_attitude WHEN '311' THEN '同意' WHEN '312' THEN '不同意' WHEN '313' THEN '不管' WHEN '314' THEN '' ELSE '请选择' END) children_attitude,
    t14.other_loan_num,
    t14.other_loan_account,
    t14.comp_eval,
    t14.review_comments,
    t16.phone1_2,
    t16.phone1_3,
    t16.phone2_2,
    t16.phone2_3,
    t16.phone1_1,
    t16.phone2_1,
    t16.contact_relation_description,
    (CASE t14.ds_health_situation WHEN '315' THEN '存在重大疾病' WHEN '316' THEN '无疾病' ELSE '请选择' END) ds_health_situation,
    (CASE t14.ds_repay_ability WHEN '305' THEN '优质' WHEN '306' THEN '较好' WHEN '307' THEN '一般' WHEN '308' THEN '较差' WHEN '309' THEN '' WHEN '310' THEN '' ELSE '请选择' END) ds_repay_ability
    FROM mcs_cre_credit_head t1 
    LEFT JOIN mcs_cre_credit_line_customer_change_head t2 ON t2.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN (SELECT b.mcs_cre_credit_line_customer_change_head_id,group_concat(h.house_address_city,'') house_address_city,group_concat(h.house_address_district,'') house_address_district,group_concat(h.house_address_province,'') house_address_province,group_concat(h.house_building_area,'') house_building_area 
    from mcs_cre_customer_change_line_houseinfo h 
    left join mcs_cre_credit_line_customer_change_head b
    on h.mcs_cre_credit_line_customer_change_head_id = b.mcs_cre_credit_line_customer_change_head_id
    GROUP BY b.mcs_cre_credit_head_id) t6 ON t6.mcs_cre_credit_line_customer_change_head_id=t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN mcs_cre_rev_info_main t8 ON t8.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_customer_change_line_workinfo t4 ON t4.mcs_cre_credit_line_customer_change_head_id=t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN (SELECT co.mcs_cre_credit_line_customer_change_head_id, REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(co.comp_industry,'jtysy','交通运输业'),'pflsy','批发零售业'),'fwy','服务业'),'jzy','建筑业'),'ny','农业'),'qt','其他') AS comp_industry FROM mcs_cre_customer_change_line_company co) t5 ON t5.mcs_cre_credit_line_customer_change_head_id=t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN (SELECT r.mcs_cre_credit_head_id, REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(re.original_borrower_record,'') FROM mcs_cre_rev_borrower_record re WHERE mcs_cre_credit_head_id=r.mcs_cre_credit_head_id ),'333','优质'),'334','较好'),'335','一般'),'336','较差'),'337','极差'),'-1','请选择') original_borrower_record FROM mcs_cre_rev_borrower_record r WHERE r.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id) t7 ON t7.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN (SELECT c.mcs_cre_credit_head_id,GROUP_CONCAT(c.processing_form,'') processing_form,GROUP_CONCAT(involve_problem,'') involve_problem from mcs_cre_rev_info_criminal c GROUP BY c.mcs_cre_credit_head_id) t9 ON t9.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN (SELECT a.mcs_cre_credit_head_id,group_concat(execute_target,'') execute_target FROM mcs_cre_rev_info_court_case a group by a.mcs_cre_credit_head_id) t10 ON t10.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_water_model t12 ON t12.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_certificate_model t13 ON t13.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_phone_main t14 ON t14.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN (SELECT DISTINCT r.mcs_cre_credit_head_id,REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(t.is_authenticity,'') FROM mcs_cre_rev_phone_contact t WHERE t.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id),'-1','请选择'),'245','真实'),'246','虚假'),'247','未接通') is_authenticity,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(ev.evalu,'') FROM mcs_cre_rev_phone_contact ev WHERE ev.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id),',','请选择,'),'1','请选择'),'2','较好'),'3','一般'),'4','较差'),'5','未接通'),'6','') evalu,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(co.is_coordination,'') FROM mcs_cre_rev_phone_contact co WHERE co.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id),',','请选择'),'1','配合'),'2','不配合'),'3','未接通'),'4','') is_coordination,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(att.family_attitude,'') FROM mcs_cre_rev_phone_contact att WHERE att.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id),',','请选择'),'1','同意'),'2','不同意'),'3','不管'),'4','')family_attitude,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE((SELECT GROUP_CONCAT(qu.contact_quality,'') FROM mcs_cre_rev_phone_contact qu WHERE qu.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id),',','请选择,'),'1','优质'),'2','较好'),'3','一般'),'4','较差'),'5','未接通'),'6','') contact_quality FROM mcs_cre_rev_phone_contact r WHERE r.mcs_cre_credit_head_id=r.mcs_cre_credit_head_id GROUP BY r.mcs_cre_credit_head_id) t15 ON t15.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id
    LEFT JOIN (SELECT c.is_major AS is_major,c.mcs_cre_credit_head_id,c.mcs_cre_credit_line_customer_change_head_id,GROUP_CONCAT(c.phone1_1,'') phone1_1,GROUP_CONCAT(c.phone1_2) phone1_2,GROUP_CONCAT(c.phone1_3) phone1_3,GROUP_CONCAT(c.phone2_1) phone2_1,GROUP_CONCAT(c.phone2_2) phone2_2,GROUP_CONCAT(c.phone2_3) phone2_3,GROUP_CONCAT(contact_relation_description,'') contact_relation_description FROM mcs_cre_customer_change_line_contact c WHERE is_major=1  AND mcs_cre_credit_head_id=c.mcs_cre_credit_head_id GROUP BY c.mcs_cre_credit_head_id) t16 ON t16.mcs_cre_credit_head_id=t1.mcs_cre_credit_head_id  
    where t2.is_major='1' AND t2.enable_flag='1' AND t1.mcs_cre_credit_head_id='972';
    SELECT DISTINCT
        t1.mcs_cre_credit_head_id,
        t2.mcs_cre_credit_line_customer_change_head_id,
        t1.bill_code,
        t2.customer_code,
        t2.customer_name,
        (
            CASE t2.has_married
            WHEN 'wh' THEN
                '未婚'
            WHEN 'yh' THEN
                '已婚'
            WHEN 'ly' THEN
                '离异'
            WHEN 'so' THEN
                '丧偶'
            ELSE
                ''
            END
        ) has_married,
        (
            CASE t2.gender
            WHEN '1' THEN
                ''
            WHEN '0' THEN
                ''
            ELSE
                ''
            END
        ) AS gender,
        (
            CASE t2.max_degree
            WHEN '1' THEN
                '初中及一下'
            WHEN '2' THEN
                '高中'
            WHEN '3' THEN
                '专科'
            WHEN '4' THEN
                '本科'
            WHEN '5' THEN
                '硕士及以上'
            WHEN '0' THEN
                ''
            END
        ) max_degree,
        (
            CASE t4.work_unit_property
            WHEN 'gy' THEN
                '国营'
            WHEN 'my' THEN
                '民营'
            WHEN 'sy' THEN
                '私营'
            WHEN 'sz' THEN
                '三资'
            WHEN 'hh' THEN
                '合伙'
            WHEN 'gt' THEN
                '个体'
            WHEN 'qt' THEN
                '其他'
            ELSE
                ''
            END
        ) work_unit_property,
        t5.comp_industry,
        t4.work_unit_duty,
        t6.house_address_city,
        t6.house_address_district,
        t6.house_address_province,
        t6.house_building_area,
        t8.rev_contact_number,
        (
            CASE t8.credit_record_type
            WHEN '1' THEN
                ''
            WHEN '0' THEN
                ''
            ELSE
                ''
            END
        ) AS credit_record_type,
        (
            CASE t8.rev_outstanding_loan
            WHEN '331' THEN
                ''
            WHEN '332' THEN
                ''
            ELSE
                ''
            END
        ) rev_outstanding_loan,
        t7.original_borrower_record,
        (
            CASE t9.processing_form
            WHEN '320' THEN
                '罚款'
            WHEN '321' THEN
                '拘役管制'
            WHEN '322' THEN
                '劳动教养'
            WHEN '323' THEN
                '刑罚'
            ELSE
                ''
            END
        ) AS processing_form,
        (
            CASE t9.involve_problem
            WHEN '317' THEN
                '不良行为'
            WHEN '319' THEN
                '刑事案件'
            WHEN '318' THEN
                '人身伤害'
            ELSE
                ''
            END
        ) AS involve_problem,
        t10.execute_target,
        (
            CASE t1.hasconmpre
            WHEN '302' THEN
                '单人贷'
            WHEN '303' THEN
                '共同2人'
            WHEN '304' THEN
                '3人以上'
            ELSE
                ''
            END
        ) hasconmpre,
        (
            CASE t1.cre_loan_type
            WHEN '110' THEN
                '佳英贷'
            WHEN '111' THEN
                '佳楼贷'
            WHEN '112' THEN
                '佳薪贷'
            WHEN '113' THEN
                '佳业贷'
            ELSE
                ''
            END
        ) cre_loan_type,
        t1.credit_limit,
        t2.birthday,
        t2.id_card,
        t12.aver_balance,
        t12.aver_payment,
        t12.month_payment,
        t13.unpay_loan_amount,
        t13.unpay_loan_num,
        t13.unpay_loan_balance,
        t13.credit_card_total_amount,
        t13.credit_card_most_amount,
        t13.credit_have_amount,
        t13.three_overdue_card_num,
        t13.six_overdue_card_num,
        t13.one_year_overdue_rate,
        t13.two_year_overdue_rate,
        t13.cur_overdue_card_amount,
        t13.three_apply_time,
        t13.six_apply_time,
        t13.year_apply_time,
        t13.guarantee_amount,
        (
            CASE t13.ecurity_state
            WHEN '287' THEN
                '正常'
            WHEN '288' THEN
                '关注'
            WHEN '289' THEN
                '次级'
            WHEN '290' THEN
                '可疑'
            WHEN '291' THEN
                '损失'
            ELSE
                ''
            END
        ) ecurity_state,
        t1.credit_purpose,
        (
            CASE t14.borrower_quality
            WHEN '179' THEN
                '优质'
            WHEN '180' THEN
                '较好'
            WHEN '181' THEN
                '一般'
            WHEN '182' THEN
                '较差'
            ELSE
                ''
            END
        ) borrower_quality,
        t14.max_repayment_limit_per_month,
        (
            CASE t14.where_house_card
            WHEN '1' THEN
                '房产局'
            WHEN '2' THEN
                '本人'
            WHEN '3' THEN
                '调档'
            WHEN '4' THEN
                '银行'
            WHEN '5' THEN
                '未下来'
            ELSE
                ''
            END
        ) where_house_card,
        splitStr(t15.is_authenticity,',',1) as ceshi1,
        splitStr(t15.is_authenticity,',',2) as ceshi2,
        splitStr(t15.is_authenticity,',',3) as ceshi3,
        splitStr(t15.is_authenticity,',',4) as ceshi4,
        splitStr(t15.is_authenticity,',',5) as ceshi5,
        splitStr(t15.is_authenticity,',',6) as ceshi6,
        t15.is_authenticity,
        t15.evalu,
        t15.is_coordination,
        t15.contact_quality,
        (
            CASE t14.couple_compensation
            WHEN '187' THEN
                '愿意'
            WHEN '188' THEN
                '不愿意'
            WHEN '189' THEN
                ''
            ELSE
                ''
            END
        ) couple_compensation,
        (
            CASE t14.parents_compensation
            WHEN '190' THEN
                '愿意'
            WHEN '191' THEN
                '不愿意'
            WHEN '192' THEN
                ''
            ELSE
                ''
            END
        ) parents_compensation,
        (
            CASE t14.children_compensation
            WHEN '193' THEN
                '愿意'
            WHEN '194' THEN
                '不愿意'
            WHEN '195' THEN
                ''
            ELSE
                ''
            END
        ) children_compensation,
        (
            CASE t14.couples_attitude
            WHEN '311' THEN
                '同意'
            WHEN '312' THEN
                '不同意'
            WHEN '313' THEN
                '不管'
            WHEN '314' THEN
                ''
            ELSE
                ''
            END
        ) couples_attitude,
        (
            CASE t14.parents_attitude
            WHEN '311' THEN
                '同意'
            WHEN '312' THEN
                '不同意'
            WHEN '313' THEN
                '不管'
            WHEN '314' THEN
                ''
            ELSE
                ''
            END
        ) parents_attitude,
        (
            CASE t14.children_attitude
            WHEN '311' THEN
                '同意'
            WHEN '312' THEN
                '不同意'
            WHEN '313' THEN
                '不管'
            WHEN '314' THEN
                ''
            ELSE
                ''
            END
        ) children_attitude,
        t14.other_loan_num,
        t14.other_loan_account,
        t14.comp_eval,
        t14.review_comments,
        t16.phone1_2,
        t16.phone1_3,
        t16.phone2_2,
        t16.phone2_3,
        t16.phone1_1,
        t16.phone2_1,
        t16.contact_relation_description,
        (
            CASE t14.ds_health_situation
            WHEN '315' THEN
                '存在重大疾病'
            WHEN '316' THEN
                '无疾病'
            ELSE
                ''
            END
        ) ds_health_situation,
        (
            CASE t14.ds_repay_ability
            WHEN '305' THEN
                '优质'
            WHEN '306' THEN
                '较好'
            WHEN '307' THEN
                '一般'
            WHEN '308' THEN
                '较差'
            WHEN '309' THEN
                ''
            WHEN '310' THEN
                ''
            ELSE
                ''
            END
        ) ds_repay_ability
    FROM
        mcs_cre_credit_head t1
    LEFT JOIN mcs_cre_credit_line_customer_change_head t2 ON t2.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN (
        SELECT
            b.mcs_cre_credit_line_customer_change_head_id,
            group_concat(h.house_address_city, '') house_address_city,
            group_concat(
                h.house_address_district,
                ''
            ) house_address_district,
            group_concat(
                h.house_address_province,
                ''
            ) house_address_province,
            group_concat(h.house_building_area, '') house_building_area
        FROM
            mcs_cre_customer_change_line_houseinfo h
        LEFT JOIN mcs_cre_credit_line_customer_change_head b ON h.mcs_cre_credit_line_customer_change_head_id = b.mcs_cre_credit_line_customer_change_head_id
        GROUP BY
            b.mcs_cre_credit_head_id
    ) t6 ON t6.mcs_cre_credit_line_customer_change_head_id = t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN mcs_cre_rev_info_main t8 ON t8.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_customer_change_line_workinfo t4 ON t4.mcs_cre_credit_line_customer_change_head_id = t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN (
        SELECT
            co.mcs_cre_credit_line_customer_change_head_id,
            co.comp_industry AS comp_industry
        FROM
            mcs_cre_customer_change_line_company co
    ) t5 ON t5.mcs_cre_credit_line_customer_change_head_id = t2.mcs_cre_credit_line_customer_change_head_id
    LEFT JOIN (
        SELECT
            r.mcs_cre_credit_head_id,
            (
                SELECT
                    GROUP_CONCAT(
                        re.original_borrower_record,
                        ''
                    )
                FROM
                    mcs_cre_rev_borrower_record re
                WHERE
                    mcs_cre_credit_head_id = r.mcs_cre_credit_head_id
            ) original_borrower_record
        FROM
            mcs_cre_rev_borrower_record r
        WHERE
            r.mcs_cre_credit_head_id = r.mcs_cre_credit_head_id
    ) t7 ON t7.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN (
        SELECT
            c.mcs_cre_credit_head_id,
            GROUP_CONCAT(c.processing_form, '') processing_form,
            GROUP_CONCAT(involve_problem, '') involve_problem
        FROM
            mcs_cre_rev_info_criminal c
        GROUP BY
            c.mcs_cre_credit_head_id
    ) t9 ON t9.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN (
        SELECT
            a.mcs_cre_credit_head_id,
            group_concat(execute_target, '') execute_target
        FROM
            mcs_cre_rev_info_court_case a
        GROUP BY
            a.mcs_cre_credit_head_id
    ) t10 ON t10.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_water_model t12 ON t12.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_certificate_model t13 ON t13.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN mcs_cre_rev_phone_main t14 ON t14.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN (
        SELECT DISTINCT
                    t.mcs_cre_credit_head_id,GROUP_CONCAT(t.is_authenticity, '') is_authenticity,GROUP_CONCAT(t.evalu, '') evalu,GROUP_CONCAT(t.is_coordination,'') is_coordination,GROUP_CONCAT(t.family_attitude,'') family_attitude,GROUP_CONCAT(contact_quality,'') contact_quality
                FROM
                    mcs_cre_rev_phone_contact t
        WHERE
            t.mcs_cre_credit_head_id =mcs_cre_credit_head_id
        GROUP BY
            t.mcs_cre_credit_head_id
    ) t15 ON t15.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    LEFT JOIN (
        SELECT
            c.is_major AS is_major,
            c.mcs_cre_credit_head_id,
            c.mcs_cre_credit_line_customer_change_head_id,
            GROUP_CONCAT(c.phone1_1, '') phone1_1,
            GROUP_CONCAT(c.phone1_2) phone1_2,
            GROUP_CONCAT(c.phone1_3) phone1_3,
            GROUP_CONCAT(c.phone2_1) phone2_1,
            GROUP_CONCAT(c.phone2_2) phone2_2,
            GROUP_CONCAT(c.phone2_3) phone2_3,
            GROUP_CONCAT(
                contact_relation_description,
                ''
            ) contact_relation_description
        FROM
            mcs_cre_customer_change_line_contact c
        WHERE
            is_major = 1
        AND mcs_cre_credit_head_id = c.mcs_cre_credit_head_id
        GROUP BY
            c.mcs_cre_credit_head_id
    ) t16 ON t16.mcs_cre_credit_head_id = t1.mcs_cre_credit_head_id
    WHERE
        t2.is_major = '1'
    AND t2.enable_flag = '1'
    AND t1.mcs_cre_credit_head_id IN (1004, 967, 972, 971, 966);

    创建函数:

    CREATE FUNCTION splitStr(str VARCHAR(200),rep VARCHAR(200),num INT) RETURNS VARCHAR(200)
    BEGIN
        DECLARE substr VARCHAR(200);
        DECLARE resultStr VARCHAR(200);
        SET substr = SUBSTRING_INDEX(str,rep,num);
        SET resultStr = SUBSTRING_INDEX(substr,rep,-1);
        RETURN resultStr;
    END;

     oracle分页:

    SELECT * FROM
    (
    SELECT A.*, ROWNUM RN
    FROM (SELECT * FROM TABLE_NAME) A
    )
    WHERE RN BETWEEN (pageNum-1)*pageSize+1 AND pageNum*pageSize

    CONCAT()函数的使用方法:CONCAT()函数是连接字符串,某字段连接某字段或者连接某格式的字符串

    eg: select * from user;

    result:

    id    name  sex

    1      张三    1

    2      李四    0

    使用concat()函数时:

    select concat(name,'(',sex,')') as obj from user;

    result:

    obj

    张三(1)

    李四(0)

    还可以这样做查询

    SELECT CONCAT(user_name,',') as obj from user;

    result:

    obj

    张三,

    李四,

    -- 求某科分数的平均分和及格率,涨姿势了!及格率=及格总人数/总人数*100
    
    SELECT * FROM (
    		SELECT
    			avg(score) AS '英语平均成绩',
    			(sum(
    				CASE
    				WHEN score >= 60 THEN
    					1
    				ELSE
    					0
    				END
    			) / COUNT(*))*100 AS '英语及格率'
    		FROM
    			SC
    	) a;
    

      

     MySQL查询时,请尽量少用子查询,子查询较多时请用联合查询,可以有40多秒的速度变成1秒不到。例如以下例子:

    40秒的sql写法:

    SELECT
    	f.id AS ryid,
    	f.dtrymc,
    	m.hdbt,
    	LEFT (y.hdkssj, 10) hdkssj,
    	LEFT (y.hdjssj, 10) hdjssj,
    	(
    		SELECT
    			count(1)
    		FROM
    			shop_order
    		WHERE
    			promoterid = f.id
    		AND orderstatus = '5'
    		AND createtime >= '2016-06-17 00:00:00'
    		AND createtime <= '2016-06-29 16:43:44'
    	) AS orderNums,
    	(
    		SELECT
    			sum(yjyds)
    		FROM
    			shop_order_goodmsg a,
    			shop_order b
    		WHERE
    			a.orderid = b.id
    		AND b.promoterid = f.id
    		AND b.orderstatus = '5'
    		AND b.createtime >= '2016-06-17 00:00:00'
    		AND b.createtime <= '2016-06-29 16:43:44'
    	) AS tranNums,
    	(
    		SELECT
    			count(1)
    		FROM
    			shop_dthd_lljl z
    		WHERE
    			z.ryid = f.id
    	) AS browseNums
    FROM
    	shop_dtfzb_ry f
    JOIN shop_dthd_dtry x ON f.id = x.ryid
    JOIN shop_dthd y ON x.dthdid = y.id
    JOIN shop_activey m ON y.activeyid = m.id
    JOIN shop_order g ON g.promoterid = f.id
    WHERE
    	1 = 1
    and g.createtime >= '2016-06-17 00:00:00'
    		AND g.createtime <= '2016-06-29 16:43:44'
    GROUP BY
    	f.dtrymc,
    	m.hdbt,
    	y.hdkssj,
    	y.hdjssj
    ORDER BY
    	m.hdbt
    LIMIT 0,
     20;
    

      优化后使用联合查询后变化的sql:

    SELECT
        f.id AS ryid,
        f.dtrymc,
        m.hdbt,
        LEFT (y.hdkssj, 10) hdkssj,
        LEFT (y.hdjssj, 10) hdjssj,
        s.orderNums,
        p.tranNums,
        z.browseNums
    FROM
        shop_dtfzb_ry f
    JOIN shop_dthd_dtry x ON f.id = x.ryid
    JOIN shop_dthd y ON x.dthdid = y.id
    JOIN shop_activey m ON y.activeyid = m.id
    left JOIN shop_order g ON g.promoterid = f.id
    left join (
            SELECT
                count(1) orderNums,promoterid,activeyid
            FROM
                shop_order
            WHERE orderstatus = '5'
            AND createtime >= '2016-06-17 00:00:00'
            AND createtime <= '2016-06-29 16:43:44'
    group by promoterid,activeyid
        ) s on y.activeyid=s.activeyid and f.id=s.promoterid
    left JOIN
    (
            SELECT
                sum(yjyds) tranNums,promoterid,a.activeyid
            FROM
                shop_order_goodmsg a,
                shop_order b
            WHERE
                a.orderid = b.id
            AND b.orderstatus = '5'
            AND b.createtime >= '2016-06-17 00:00:00'
            AND b.createtime <= '2016-06-29 16:43:44'
    group by promoterid,activeyid
        ) p on y.activeyid=p.activeyid and f.id=p.promoterid
     left join (
            SELECT
                count(1) browseNums,ryid
            FROM
                shop_dthd_lljl z
    where 1=1 and llsj >= '2016-06-17 00:00:00'
            AND llsj <= '2016-06-29 16:43:44'
            group by ryid
        ) z on z.ryid = f.id
    WHERE
        1 = 1
    and g.createtime >= '2016-06-17 00:00:00'
            AND g.createtime <= '2016-06-29 16:43:44'
    GROUP BY
        f.dtrymc,
        m.hdbt,
        y.hdkssj,
        y.hdjssj
    ORDER BY
        m.hdbt
    LIMIT 0,
     20;

    变化惊人,只怪自己太年轻。

    查询表里重复的记录:

     select count(*) as count from shop_order group by phonenum having count>1;

     exists的运用

     mysql 加上一天 date_add(now(),interval 1 day);     date_add(now(),interval -1 day)减去一天

    减去一天还有一个函数:date_sub(now(),interval 1 day) ;day换成month表示月,year为年,week为周

    mysql查询数据库数据大小

    select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
    concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
    from information_schema.tables
    group by TABLE_SCHEMA
    order by data_length desc;

    mysql 时间段查询

    SELECT
    *
    FROM
    table_name
    WHERE 1=1
    AND STARTDATE <= '2019-12-30'
    AND ENDDATE >= '2019-06-21'

    无理由。

    时间,请带我像一条小溪流般,安静地流淌,汇入爱的海洋。
  • 相关阅读:
    如何将本地的项目,上传到github
    Pytest 失败重运行
    Jenkins项目构建成功后,配置邮件
    Jenkins构建UI自动化项目,指定本地执行,没弹起浏览显示
    pytest_重写pytest_sessionfinish方法的执行顺序_结合报告生成到发送邮件
    python +pytestreport 生成测试报告_报告没有生成图标和报告样式错乱
    Jenkins的搭建及配置
    Jenkins构建项目遇到的问题总结
    pytest_terminal_summary重写收集测试报告并发送邮件,报错"Argument(s) {'Config'} are declared in the hookimpl but can not be found in the hookspec"
    Jenkins创建任务进行构建项目配置
  • 原文地址:https://www.cnblogs.com/1246447850qqcom/p/4210254.html
Copyright © 2020-2023  润新知