Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql lts_Sql_Teradata - Fatal编程技术网

Sql lts

Sql lts,sql,teradata,Sql,Teradata,我建议逐步使用中间值和连续子句链接来构建查询。我用这种方法来摆脱干扰,并测试中间结果 With Opportunity as ( Select * from isell_prod_view_db.sfdc_opportunity where oprty_outcm_resn_desc not in ('Deleted') or oprty_outcm_resn_desc is null and oprty_type_desc = 'Opportunity' ) ,UserPr

我建议逐步使用中间值和连续子句链接来构建查询。我用这种方法来摆脱干扰,并测试中间结果

With Opportunity as 
(
    Select * from isell_prod_view_db.sfdc_opportunity 
    where oprty_outcm_resn_desc not in ('Deleted') or oprty_outcm_resn_desc is null and oprty_type_desc = 'Opportunity'
)
,UserProfileTerritoryDesc
(
    select *, -- other fields of interest
        TRIM (B.prim_terr_div_nbr) || '-' || TRIM (B.prim_terr_grp_nbr) || '-' || TRIM (B.prim_terr_sales_org_nbr)
         || '-' || TRIM (B.prim_terr_rgn_nbr)  || '-' || TRIM (B.prim_terr_area_nbr) || '-' || TRIM (B.prim_terr_dist_nbr)
          || '-' || TRIM (B.prim_terr_nbr)  as Terr,

        A.spcl_notation_desc, B.emp_nbr, B.user_title_desc, TRIM (B.first_nm) ||' '|| TRIM (B.last_nm) as AE_Name
    from sfdc_user_profile
)
,HistoricalPhases as 
(
    select *, --other fields of interest
        Date_Phase_Modified,lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr, Historical_Phases order by Date_Phase_Modified asc) as 
        Age_in_Phase_Partition
     from sfdc_opportunity_lifecycle
)
--test selects on each of above to see intermediate values, partcularly fields like Age_in_Phase_Partition
, AllResultsTogether
(
    select 
        --...
        Terr,
        case when Age_in_Phase_Partition then -1*Age_in_Phase_Partition else Age_in_Phase_Partition end as Age_in_Phase_Final
    from HistoricalPhases A 
    join Opportunity on 
    --...
    join UserProfileTerritoryDesc
    --...
)
--test results with partitioned and final values.

这是一个case表达式,而不是语句。您在第一个
case
子句中的
*-1)
后面缺少了一个额外的
。无需执行select distinct,您的group by不会返回重复项。您的外部select除了不必要地使查询复杂化之外,完全没有任何作用。这是一个case表达式,not语句。您在第一个
CASE
子句中的
*-1)
后面缺少一个额外的
。无需执行select distinct,您的group by不会返回重复项。您的外部select除了不必要地使您的查询复杂化之外,完全没有任何作用。谢谢您,山姆。是的,毫无疑问,它是一团糟。我是一个真正的新手,尝试谷歌解决方案。我复制了您的代码,现在我收到以下错误消息:Failed 3800。THEN/ELSE表达式中的数据类型不匹配。我还用结果和预期结果更新了我的原始帖子,如果这有帮助的话@tj919我还是不明白你想做什么。但如果我没弄错的话,你看起来就像是在联合。用这个更新我的帖子。谢谢Sam。我想知道一笔交易在不同的销售周期中有多少天。有5个阶段,我最初的计算没有“关闭韩元”条款。除非只有一个实例。如本例所示,该交易在8天内处于“展示”阶段。一旦它被关闭,它应该是0。谢谢你山姆。是的,毫无疑问它是一团糟。我是一个真正的新手,尝试谷歌解决方案。我复制了您的代码,现在我收到以下错误消息:Failed 3800。THEN/ELSE表达式中的数据类型不匹配。我还用结果和预期结果更新了我的原始帖子,如果这有帮助的话@tj919我还是不明白你想做什么。但如果我没弄错的话,你看起来就像是在联合。用这个更新我的帖子。谢谢Sam。我想知道一笔交易在不同的销售周期中有多少天。有5个阶段,我最初的计算没有“关闭韩元”条款。除非只有一个实例。如本例所示,该交易在8天内处于“展示”阶段。一旦关闭,其读数应为0。
case when Historical_Phases <> 'Closed - Won' and Date_Phase_Modified - lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr, Historical_Phases order by Date_Phase_Modified asc) is null 
            then ((Date_Phase_Modified - lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr order by Date_Phase_Modified desc) * -1)) 
     when Date_Phase_Modified - lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr, Historical_Phases order by Date_Phase_Modified asc) is not null 
            then Date_Phase_Modified - lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr, Historical_Phases order by Date_Phase_Modified asc) 
            else 0 end as Age_in_Phase,
With Opportunity as 
(
    Select * from isell_prod_view_db.sfdc_opportunity 
    where oprty_outcm_resn_desc not in ('Deleted') or oprty_outcm_resn_desc is null and oprty_type_desc = 'Opportunity'
)
,UserProfileTerritoryDesc
(
    select *, -- other fields of interest
        TRIM (B.prim_terr_div_nbr) || '-' || TRIM (B.prim_terr_grp_nbr) || '-' || TRIM (B.prim_terr_sales_org_nbr)
         || '-' || TRIM (B.prim_terr_rgn_nbr)  || '-' || TRIM (B.prim_terr_area_nbr) || '-' || TRIM (B.prim_terr_dist_nbr)
          || '-' || TRIM (B.prim_terr_nbr)  as Terr,

        A.spcl_notation_desc, B.emp_nbr, B.user_title_desc, TRIM (B.first_nm) ||' '|| TRIM (B.last_nm) as AE_Name
    from sfdc_user_profile
)
,HistoricalPhases as 
(
    select *, --other fields of interest
        Date_Phase_Modified,lag (Date_Phase_Modified) over (partition by F.oprty_key_nbr, Historical_Phases order by Date_Phase_Modified asc) as 
        Age_in_Phase_Partition
     from sfdc_opportunity_lifecycle
)
--test selects on each of above to see intermediate values, partcularly fields like Age_in_Phase_Partition
, AllResultsTogether
(
    select 
        --...
        Terr,
        case when Age_in_Phase_Partition then -1*Age_in_Phase_Partition else Age_in_Phase_Partition end as Age_in_Phase_Final
    from HistoricalPhases A 
    join Opportunity on 
    --...
    join UserProfileTerritoryDesc
    --...
)
--test results with partitioned and final values.