OC_id关键字

         id

         1> 万能指针,能指向任何OC对象,相当于NSObject * ;

         2> id的定义:

         typedef struct objc_object{

            Class isa;

         } *id;

         3> id 指针不需要再加上 *

         4> 调用一个不存在的方法,编译器会马上报错

``` -- 各个国家项目数量分布 /* SELECT count(distinct project_code) as project_count, country FROM view.ic_dev15oc_mart.ads_oo_po_vehicle_model_state_bi GROUP BY country */ -- select id,code,name,level,parent_id,help_sort FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 -- where parent_id='2091924844666945548' -- where level= 5 /* -- RECURSIVE WITH RECURSIVE hierarchy AS ( SELECT id, parent_id, level, CAST(ROW_NUMBER() OVER (ORDER BY id) AS STRING) as base_num, id as root_id FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level = 1 UNION ALL SELECT t.id, t.parent_id, t.level, CONCAT( h.base_num, '.', CAST(ROW_NUMBER() OVER ( PARTITION BY t.parent_id ORDER BY t.id ) AS STRING) ), h.root_id FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 t INNER JOIN hierarchy h ON t.parent_id = h.id AND t.level = h.level + 1 ) SELECT id, parent_id, level, base_num as multilevel_num FROM hierarchy ORDER BY root_id, multilevel_num */ /* WITH sorted_hierarchy AS ( SELECT id, parent_id, level FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 ) SELECT l1.id AS level1_id, l2.id AS level2_id, l3.id AS level3_id, l4.id AS level4_id, l5.id AS level5_id FROM (SELECT * FROM sorted_hierarchy WHERE level = 1) l1 LEFT JOIN (SELECT * FROM sorted_hierarchy WHERE level = 2) l2 ON l1.id = l2.parent_id LEFT JOIN (SELECT * FROM sorted_hierarchy WHERE level = 3) l3 ON l2.id = l3.parent_id LEFT JOIN (SELECT * FROM sorted_hierarchy WHERE level = 4) l4 ON l3.id = l4.parent_id LEFT JOIN (SELECT * FROM sorted_hierarchy WHERE level = 5) l5 ON l4.id = l5.parent_id -- ORDER BY l1.rank_in_level, l2.rank_in_level ,l3.rank_in_level, l4.rank_in_level,l5.rank_in_level; */ SELECT l1.id AS level1_id, l1.rank AS rank1, l2.id AS level2_id, l2.level AS level2, l2.help_sort AS help_sort2, l2.order AS order2, l3.id AS level3_id, l3.level AS level3, l3.help_sort AS help_sort3, l3.order AS order3, l4.id AS level4_id, l4.level AS level4, l4.help_sort AS help_sort4, l4.order AS order4, l5.id AS level5_id, l5.level AS level5, l5.help_sort AS help_sort5 l5.order AS order5, FROM (SELECT id,parent_id,help_sort, ROW_NUMBER() OVER (ORDER BY id ASC) AS rank FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level = 1 ) l1 LEFT JOIN (SELECT id,parent_id,level,help_sort,ROW_NUMBER() OVER (PARTITION BY parent_id ORDER BY help_sort ASC) AS order FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level = 2) l2 ON l1.id = l2.parent_id LEFT JOIN (SELECT id,parent_id,level,help_sort,ROW_NUMBER() OVER (PARTITION BY parent_id ORDER BY help_sort ASC) AS order FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level = 3) l3 ON l2.id = l3.parent_id LEFT JOIN (SELECT id,parent_id,level,help_sort,ROW_NUMBER() OVER (PARTITION BY parent_id ORDER BY help_sort ASC) AS order FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level= 4) l4 ON l3.id = l4.parent_id LEFT JOIN (SELECT id,parent_id,level,help_sort,ROW_NUMBER() OVER (PARTITION BY parent_id ORDER BY help_sort ASC) AS order FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_t_17010_hw_dev15oc_1054010535 WHERE level = 5) l5 ON l4.id = l5.parent_id order by rank1, level2,help_sort2,level3,help_sort3, level4,help_sort4, level5,help_sort5```line 8:7 cannot recognize input near 'l2' '.' 'order' in selection target
最新发布
03-29
``` -- 不包含进度节点的表(维度分布表) -- 筛选条件 国家、车型、产品线、项目名称、项目编码 SELECT P1.code project_code, P1.name project_name, P1.plan_starttime , P1.plan_endtime , P1.real_starttime , P1.real_endtime , P2.name country, P3.name project_state, P4.name product_line, P5.name project_type, CURRENT_TIMESTAMP() edit_time, CASE WHEN P3.name = '已完成' AND P1.real_endtime > P1.plan_endtime THEN '延期完成' WHEN P3.name = '已完成' AND P1.real_endtime <= P1.plan_endtime THEN '正常完成' WHEN P3.name = '已终止' THEN '已终止' WHEN P3.name = '已暂停' THEN '已暂停' WHEN P3.name = '执行中' AND CURRENT_TIMESTAMP() > P1.plan_endtime THEN '执行中延期' WHEN P3.name = '执行中' AND CURRENT_TIMESTAMP() <= P1.plan_endtime THEN '正常' WHEN P3.name = '编制中' THEN NULL ELSE NULL END status_light FROM view.ic_dev15oc_mart.view_dwd_plm_imp_plm_pm_prj_17010_hw_dev15oc_1054010535 P1 LEFT JOIN (SELECT id, name FROM view.view.ic_dev15oc_mart.view_ods_plm_bd_cust_doc_17010_dev15oc_1054010535 WHERE name IN ('泰国', '巴西', '匈牙利', '印尼', '土耳其', '乌兹')) P2 ON P1.areafdkj = P2.id LEFT JOIN view.ic_dev15oc_mart.view_ods_plm_imp_base_lc_st_17010_dev15oc_1054010535 P3 ON P1.lifecycle_attrpool_id = P3.id LEFT JOIN (SELECT id, name FROM view.ic_dev15oc_mart.view_ods_plm_org_admin_17010_dev15oc_1054480402 WHERE parentid = '1618991418594820098') P4 ON P1.ownedorg = P4.id LEFT JOIN view.ic_dev15oc_mart.view_ods_plm_imp_plm_pm_prj_cgr_17010_dev15oc_1054010535 P5 ON P1.classify_id = P5.id WHERE P1.real_endtime IS NOT NULL;```请建一张hive外部表,将以上代码的数据插入进去
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值