奇怪的问题
时间:2011-09-26
来源:互联网
这是一条SELECT语句里的打算要SELECT出来的某个字段
(
SELECT A.ADDRESS1
FROM PS_HM_TB_ADD_VW A
WHERE A.EMPLID = J.EMPLID
AND A.EFFDT = (
SELECT MAX(ED.EFFDT)
FROM PS_HM_TB_ADD_VW ED
WHERE ED.EMPLID = A.EMPLID
AND ED.EFFDT <= SYSDATE)) AS ADDRESS1
上面这一段是原来的代码,运行没问题。
现在要要修改成如果他的国家是中国则地址这一字段赋空。
第一次运行没问题,但是如果修改数据库里的数据后(比如把ADDRESS1从上海路修改成北京路),整个这一条数据在最后的结果里就没了,请问是哪里的问题?
(
SELECT CASE WHEN A.COUNTRY='CHN' THEN '' ELSE A.ADDRESS1 END FROM PS_HM_TB_ADD_VW A
WHERE A.EMPLID = J.EMPLID
AND A.EFFDT = (
SELECT MAX(ED.EFFDT)
FROM PS_HM_TB_ADD_VW ED
WHERE ED.EMPLID = A.EMPLID
AND ED.EFFDT <= SYSDATE)) AS ADDRESS1
(
SELECT A.ADDRESS1
FROM PS_HM_TB_ADD_VW A
WHERE A.EMPLID = J.EMPLID
AND A.EFFDT = (
SELECT MAX(ED.EFFDT)
FROM PS_HM_TB_ADD_VW ED
WHERE ED.EMPLID = A.EMPLID
AND ED.EFFDT <= SYSDATE)) AS ADDRESS1
上面这一段是原来的代码,运行没问题。
现在要要修改成如果他的国家是中国则地址这一字段赋空。
第一次运行没问题,但是如果修改数据库里的数据后(比如把ADDRESS1从上海路修改成北京路),整个这一条数据在最后的结果里就没了,请问是哪里的问题?
(
SELECT CASE WHEN A.COUNTRY='CHN' THEN '' ELSE A.ADDRESS1 END FROM PS_HM_TB_ADD_VW A
WHERE A.EMPLID = J.EMPLID
AND A.EFFDT = (
SELECT MAX(ED.EFFDT)
FROM PS_HM_TB_ADD_VW ED
WHERE ED.EMPLID = A.EMPLID
AND ED.EFFDT <= SYSDATE)) AS ADDRESS1
作者: matt1014 发布时间: 2011-09-26
A.COUNTRY='CHN' THEN '' ,你看一下你的国家编码是不是 CHN,这个 case when 语句会把所有中国区的地址改为空
作者: opps_zhou 发布时间: 2011-09-26
数据贴出来看看!
作者: cosio 发布时间: 2011-09-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28