首页 > 解决方案 > 输入 postgresql redshift 末尾的语法错误

问题描述

我目前在输入结束时收到无效的操作语法错误,我需要帮助来理解我做错了什么

 SELECT *
 FROM odsCustomerAccount CA
 JOIN ods.house_dim hd ON hd.Customer_Row_id = CA.Customer_row_id
 WHERE '1023545768' = (CASE WHEN 'House' = 'House' THEN hd.MorgageNumber
 WHEN 'Customer Number' = 'Customer Number' THEN CONVERT(varchar, CA.Customer_Number)
 ELSE 'NULL'
 END)

任何帮助是极大的赞赏。谢谢你

标签: sqlcaseamazon-redshiftwhere-clause

解决方案


我猜这MortgageNumber是一个数字,而您遇到了类型冲突。这表明您应该使用:

where (:something = 'House' and '1023545768' = hd.MortgageNumber) or
      (:something = 'Customer Number' and '1023545768' = CA.Customer_Number::text)

推荐阅读