首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在左连接中使用IF(LEN

如何在左连接中使用IF(LEN
EN

Stack Overflow用户
提问于 2015-10-13 21:33:42
回答 1查看 36关注 0票数 1

我正在尝试创建一个基于IF语句的连接,该语句具有多个条件和一个LEN,但无法使其工作。

代码语言:javascript
复制
SELECT
    "Datafeed-WO"."Billing Cd" AS 'Billing Type',        
    IF(LEN("Datafeed-WO"."Zip")  = 6, 'CDA', 'USA') AS 'Country',
    "BudgetTbl"."BudYr" AS 'Budget Yr',
    "BudgetTbl"."Budget" AS 'Group Budget'

FROM "Datafeed-WO"

LEFT JOIN "BudgetTbl" 
   ON ( IF(LEN("Datafeed-WO"."Zip")  = 6, 'CDA', 'USA') = "BudgetTbl"."Country")  
      AND  ("Datafeed-WO"."Billing Cd"  = "BudgetTbl"."Billing Cd")

谢谢你帮我解决这个问题!

EN

回答 1

Stack Overflow用户

发布于 2015-10-13 22:21:38

你需要把所有的引号(‘和’)改成反引号(`),然后再执行一次。从此以后,在表名和列名中不要包含空格也很重要。

希望这就是你想要的:

代码语言:javascript
复制
select
    dw.`Billing Cd` as `Billing_Type`,       
    if(len(dw.`Zip`)  = 6, 'CDA', 'USA') as `Country`,
    bt.`BudYr` as `Budget_Yr`,
    bt.`Budget` as `Group_Budget`
from `Datafeed-WO` dw
left join `BudgetTbl` bt on (dw.`Billing Cd` = bt.`Billing Cd`) and ((len(dw.`Zip`) = 6 && bt.`Country` = 'CDA') || (len(dw.`Zip`) != 6 && bt.`Country` = 'USA'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33104087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档