欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hive sql

程序员文章站 2022-05-18 17:16:02
...
 (SELECT u.id AS collector_id,
          u.name AS collector_name,
          t.name AS area_name
   FROM ods_collection.fdm_col_admin_user AS u
   LEFT JOIN
     (SELECT admin_user_id,
             min(area_id) AS area_id
      FROM ods_collection.fdm_col_user_area_relation
      WHERE dt = "${p_date}"
      GROUP BY admin_user_id) AS r1 ON u.id = r1.admin_user_id
   LEFT JOIN ods_collection.fdm_col_area AS t ON t.id= r1.area_id
   AND t.dt = "${p_date}"
   WHERE u.dt = "${p_date}"
     AND u.business_id = "1"
     AND u.id != "320") 
SELECT u.id AS collector_id,
       u.name AS collector_name,
       t.name AS area_name
FROM
  (SELECT id,
          name
   FROM ods_collection.fdm_col_admin_user
   WHERE dt = "${p_date}"
     AND business_id = "1"
     AND id != "320" ) AS u
JOIN
  (SELECT admin_user_id,
          min(area_id) AS area_id
   FROM ods_collection.fdm_col_user_area_relation
   WHERE dt = "${p_date}"
   GROUP BY admin_user_id) AS r1 ON u.id = r1.admin_user_id
JOIN ods_collection.fdm_col_area AS t ON t.id= r1.area_id
AND t.dt = "${p_date}"

INSERT OVERWRITE TABLE ods_collection.dm_col_repay_detail_report partition (dt='${p_date}')
SELECT from_unixtime(cast(r.TIME_REPAID/1000 AS bigint),'yyyy-MM-dd') AS p_date,
       c.order_number AS order_number,
       l.collector_id,
       l.collector_name AS collector_name,
       l.area_name AS collector_area,
       r.PRINCIPAL AS principal,
       r.OVERDUE_INTEREST AS OVERDUE_INTEREST,
       r.PENALTY AS PENALTY,
       c.PRODUCT_NAME AS PRODUCT_NAME,
       r.REDUCE_AMOUNT AS REDUCE_AMOUNT,
       r.OVERDUE_DAYS AS OVERDUE_DAYS,
       CASE
           WHEN r.COLLECTOR_ID = c.COLLECTOR_ID
                AND c.STATUS = 'F' THEN "是"
           ELSE "否"
       END AS status,
       c.TERMS AS TERMS,
       c.START_TERM AS START_TERM,
       c.END_TERM AS END_TERM,
       from_unixtime(cast(c.TIME_PAYOUT/1000 AS BIGINT),'yyyy-MM-dd') AS TIME_PAYOUT,
       nvl(get_json_object(d.data,'$.brokerFee'),0)AS brokerFee,
       nvl(get_json_object(d.data,'$.serviceFee'),0) AS serviceFee,
       nvl(get_json_object(d.data,'$.insuranceFee'),0) AS insuranceFee,
       nvl(get_json_object(d.data,'$.guaranteeFee'),0) AS guaranteeFee,
       nvl(get_json_object(d.data,'$.additionalServiceFee'),0) AS additionalServiceFee,
       nvl(get_json_object(d.data,'$.overdueBrokerFee'),0) AS overdueBrokerFee,
       nvl(get_json_object(d.data,'$.extensionFee'),0) AS extensionFee,
       nvl(get_json_object(d.data,'$.suspendedAmount'),0) AS suspendedAmount
FROM ods_collection.sdm_col_repayment AS r
INNER JOIN ods_collection.fdm_col_case AS c ON c.id = r.case_id
AND c.dt = "${p_date}"
AND c.business_id = "1"
LEFT JOIN ods_collection.sdm_col_general_data AS d ON d.parent_id = r.id
AND d.business_id = "1"
INNER JOIN
  ( SELECT u.id AS collector_id,
           u.name AS collector_name,
           t.name AS area_name
   FROM
     (SELECT id,
             name
      FROM ods_collection.fdm_col_admin_user
      WHERE dt = "${p_date}"
        AND business_id = "1"
        AND id != "320" ) AS u
   JOIN
     (SELECT admin_user_id,
             min(area_id) AS area_id
      FROM ods_collection.fdm_col_user_area_relation
      WHERE dt = "${p_date}"
      GROUP BY admin_user_id) AS r1 ON u.id = r1.admin_user_id
   JOIN ods_collection.fdm_col_area AS t ON t.id= r1.area_id
   AND t.dt = "${p_date}") AS l ON r.collector_id = l.collector_id
WHERE r.REPAYMENT_TYPE IN ('N',
                           'O');

相关标签: hive

上一篇: hive sql

下一篇: Hive SQL