sql - 输入 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)
任何帮助是极大的赞赏。谢谢你
解决方案
我猜这MortgageNumber
是一个数字,而您遇到了类型冲突。这表明您应该使用:
where (:something = 'House' and '1023545768' = hd.MortgageNumber) or
(:something = 'Customer Number' and '1023545768' = CA.Customer_Number::text)
推荐阅读
- python - 数据集中的大多数记录被分配到一个集群 - kmeans clustering
- c++ - SDL_SetWindowSize 调整大小后,绘制完成偏移屏幕
- javascript - 如何按顺序检查数组1中的每个值,存在于数组2中并删除它?
- javascript - 如何禁用类型的分号规则?
- mysql - 什么对性能和可读性更好:布尔类型或 varchar 的状态列?
- swift - Uicollectionview 单元格未加载二进制数据
- hdfs - 如何以嵌入式模式从 Drill 访问 HDFS?
- python - Pandas - 切片数据并计算平均值
- swift - 使用 SwiftUI 时尝试在视图中显示工作表时应用程序崩溃
- entity-framework-core - 创建第二个——甚至第三个——DbContext