sql - SQL 内连接 w 更新
问题描述
我有两张桌子。我正在尝试通过邮政编码将其链接到另一个表来更新第一个不正确的状态代码(> 2 个字符)。
我的代码中不断出现错误,提示连接没有正确结束——我已经盯着它看了两个多小时——看起来很简单,但我就是看不到错误?
Table Name – ATEST
ZIP CITY ST1
19090 WILLOW GROVE PA
19091 MEDIA PA
19092 PHILADELPHIA PA
19093 PHILATEST PENN
19094 WOODLYN PA
95123 SAN JOSE CA
95124 SAN JOSETEST CAA
Table Name – AZIP_INFO
ZIP CITY ST
19090 WILLOW GROVE PA
19091 MEDIA PA
19092 PHILADELPHIA PA
19093 PHILATEST PA
19094 WOODLYN PA
95123 SAN JOSE CA
95124 SAN JOSETEST CA
UPDATE /*+ parallel(2) */ ATEST
SET (ATEST.ST1) = (AZIP_INFO.ST)
INNER JOIN (ATEST.ZIP) = AZIP_INFO.ZIP)
ON (TRIM (ATEST.ZIP) = AZIP_INFO.ZIP)
WHERE LENGTH(ATEST.ST1) > 2
提前感谢您提供的任何帮助!
解决方案
您的提示只是 Oracle 的味道,它不支持JOIN
s in UPDATE
s (对于大多数目的)。
你可以做:
UPDATE ATEST a
SET a.ST1 = (SELECT ai.ST
FROM AZIP_INFOR ai
WHERE a.ZIP = ai.ZIP
)
WHERE EXISTS (SELECT 1
FROM AZIP_INFOR ai
WHERE a.ZIP = ai.ZIP
)
WHERE LENGTH(a.ST1) > 2;
推荐阅读
- javascript - 将 wordpress 插件挂接到单个页面以呈现一些 html/javascript 内容的最佳方法是什么?
- python - 从列表中的字符串中检索字符
- python - 在 Python 中使用 ProcessPoolExecutor 的运行调用数不正确
- python - 在一个会话下使用 python 运行 powershell 脚本
- primefaces - 使用 primefaces 数据表进行过滤和 clearfilter()
- shell - 如何编写打开 msys shell 然后在 shell 中运行命令的批处理文件?
- r - 地图中气泡/圆形物体的投影
- regex - 比较两个单元格并将 HTML 标记添加到匹配值
- c# - 创建通用支付库
- javascript - 将 jQuery forEach 函数转换为 JavaScript?