使用带有ON子句的SQL的案例-Netezza

问题描述 投票:0回答:1

请输入以下代码

SELECT DISTINCT 
CASE WHEN LENGTH (i.MOBILE_NUMBER) = 10 THEN 0||i.MOBILE_NUMBER ELSE i.MOBILE_NUMBER END AS New_Mob_Num,
COUNT(i.SUBS_ID) AS Subs_Count,
COUNT(s.MESSAGEID) AS SMS_COUNT,
              SUM(CASE WHEN s.MESSAGESTATE = 'Undeliverable' THEN COUNT ELSE 0 END) AS Undeliverablecount,
              SUM(CASE WHEN s.MESSAGESTATE = 'Delivered' THEN COUNT ELSE 0 END) AS Deliveredcount
    FROM PRD_STG.MOB.INF_SUBSCRIBER i
    INNER JOIN ANALYTICS.sms.mq s 
ON i.New_Mob_Num = strright(s.destination, 11)
GROUP BY 1

我收到一个错误ERROR: Attribute 'I.NEW_MOB_NUM' not found

谁可以使用列[和带有[[Joining的ON子句。 并且当使用CASE WHEN语句和下面的ON子句时,我得到了错误的结果

SELECT DISTINCT CASE WHEN LENGTH (i.MOBILE_NUMBER) = 10 THEN 0||i.MOBILE_NUMBER ELSE i.MOBILE_NUMBER END AS New_Mob_Num, COUNT(i.SUBS_ID) AS Subs_Count, COUNT(s.MESSAGEID) AS SMS_COUNT, SUM(CASE WHEN s.MESSAGESTATE = 'Undeliverable' THEN COUNT ELSE 0 END) AS Undeliverablecount, SUM(CASE WHEN s.MESSAGESTATE = 'Delivered' THEN COUNT ELSE 0 END) AS Deliveredcount FROM PRD_STG.MOB.INF_SUBSCRIBER i INNER JOIN ANALYTICS.sms.mq s ON (CASE WHEN LENGTH (i.MOBILE_NUMBER) = 10 THEN 0||i.MOBILE_NUMBER ELSE i.MOBILE_NUMBER END) = strright(s.destination, 11) GROUP BY 1

请输入以下代码,当长度(i.MOBILE_NUMBER)= 10 THEN时选择不同的情况0 || i.MOBILE_NUMBER ELSE i.MOBILE_NUMBER END AS New_Mob_Num,COUNT(i.SUBS_ID)AS Subs_Count,COUNT(s ... 。

sql join netezza case-when
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.