sql - AWS redshift join 与函数返回错误
问题描述
我试图通过使用左函数加入两个不同的表 - 供参考(https://docs.aws.amazon.com/redshift/latest/dg/r_LEFT.html)它抛出一个错误,说“无效操作”我希望错误消息更有帮助。如果我删除左边的函数,那么它可以工作,但我需要让它与一个函数一起工作,因为我没有看到对文档的任何限制。我不确定为什么它不能与一个函数一起工作,因为任何关于如何的建议解决这个问题?
select id from state
LEFT JOIN city c ON lower(left(c.segmentation_name::text, '-4'::integer)) = lower(state.name::text)
解决方案
如果您想要除最后四个字符之外的所有字符,请使用:
from state s left join
city c
on substring(lower(c.segmentation_name::text), 1, len(c.segmentation_name::text) - 4) = lower(state.name::text)
转换text
看起来真的很尴尬。也许这就足够了:
from state s left join
city c
on substring(lower(c.segmentation_name), 1, len(c.segmentation_name) - 4) = lower(state.name)
推荐阅读
- angular - 如何在 OpenLayers 中通过拖放添加自定义样式
- r - R Studio - 相关方法“黄土”导致的错误?
- java - 我怎样才能从两个数字中得到中间?
- php - 使用 mpdf 库的 pdf 文件中的斜体印地语文本未正确显示。印地语和粗体印地语工作正常
- python - 在 Google Colab 上运行 simpletransformers 时出现“PanicException: no entry found for key”错误
- python - 从 tensorflow 对象检测实用程序导入 config_util 时出现导入错误
- python - 根据同一列中的另一个值保留最近的行
- react-native - 在 React Native 中显示 ActivityIndicator?
- c# - c#中的动作方法
- reactjs - 使用 react-testing-library 模拟获取数据 - 仍处于加载状态