免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6371 | 回复: 20
打印 上一主题 下一主题

請教一個AS400上UPDATE的SQL語法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-20 12:14 |只看该作者 |倒序浏览
我想參照B中的B2填入A的A2,兩個共通Key為A1及B1

使用以下語法

UPDATE A SET A.A2=B.B2 from A,B where A.A1=B.B1

出現以下錯誤
Column qualifier or table B undefined.                     

請問是否在語法中有問題?
如果是的話,該如何寫才能達到我要的結果呢?

SQL不熟,請各位指教,感謝各位先進!

论坛徽章:
0
2 [报告]
发表于 2005-12-20 12:57 |只看该作者
A,B表A1,B1列,A2,B2列是否类型一致,长度一致。

论坛徽章:
0
3 [报告]
发表于 2005-12-20 13:14 |只看该作者
原帖由 sunokla 于 2005-12-20 12:57 发表
A,B表A1,B1列,A2,B2列是否类型一致,长度一致。


已確認過型態及長度一致無誤!

謝謝。

论坛徽章:
0
4 [报告]
发表于 2005-12-20 15:22 |只看该作者
原帖由 lordlost 于 2005-12-20 12:14 发表
我想參照B中的B2填入A的A2,兩個共通Key為A1及B1

使用以下語法

UPDATE A SET A.A2=B.B2 from A,B where A.A1=B.B1

出現以下錯誤
Column qualifier or table B undefined.                     

請問 ...


楼主,你可以试下
INSERT INTO A,A2
SELECT  B2 FROM B
WHERE A.A1=B.B1

论坛徽章:
0
5 [报告]
发表于 2005-12-20 16:12 |只看该作者
原帖由 liu__jiang 于 2005-12-20 15:22 发表


楼主,你可以试下
INSERT INTO A,A2
SELECT  B2 FROM B
WHERE A.A1=B.B1


紅字的地方不解,可以這樣下命令嗎?
我試了一下似乎會有問題:

Token , was not valid. Valid tokens: ( ? : WITH SELECT VALUES <INTEG

论坛徽章:
0
6 [报告]
发表于 2005-12-20 17:20 |只看该作者
UPDATE TB1 SET F1 = (SELECT F1 FROM TB2
WHERE TB2.F1=TB1.F1)

论坛徽章:
0
7 [报告]
发表于 2005-12-20 17:27 |只看该作者
楼上的可行

论坛徽章:
0
8 [报告]
发表于 2005-12-21 09:17 |只看该作者
原帖由 utirei 于 2005-12-20 17:20 发表
UPDATE TB1 SET F1 = (SELECT F1 FROM TB2
WHERE TB2.F1=TB1.F1)


感謝這位兄弟回應,我照著去做,下了以下的語法,但仍舊出現錯誤:
UPDATE A SET A2=
(select B2 from B where A.A1=B.B1)

出現下面的錯誤訊息:
Null values not allowed in column or variable A2

經查詢後,發現問題可能出在A檔中的A1無法完全對應到B中的B1,請問在SQL中可以排除這個問題,讓上面的語法正確執行嗎?


感謝各位幫忙!

[ 本帖最后由 lordlost 于 2005-12-21 09:26 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2005-12-21 09:35 |只看该作者
原帖由 lordlost 于 2005-12-20 16:12 发表


紅字的地方不解,可以這樣下命令嗎?
我試了一下似乎會有問題:

Token , was not valid. Valid tokens: ( ? : WITH SELECT VALUES <INTEG


不好意思,写得有误,应该是:
INSERT INTO A (A2)
SELECT B2 FROM B
WHERE A。A1=B。B1
可行,我试过了。

论坛徽章:
0
10 [报告]
发表于 2005-12-21 09:36 |只看该作者
select b2 into a2 form b where b.b1 = a.a1 试这个呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP