使用嵌入的select语句创建更新查询[英] Creating an Update query with an embedded select statement

问题描述

我已经编写了这么多方法,我现在很困惑:这是我想做的,但我无法让代码工作:
表:
表一:
组键
日期
金额
阿吉
fy

选项卡2:
组键
说明
地址
fy - 空白
agy - 空白

我希望将 tab1 中的 fy 和 agy 填充到两个表中与 Group_key 匹配的选项卡 2 中.以下是我尝试过的代码和收到的错误希望您能提供帮助.

第一次尝试:

展开|选择|Wrap|行号
解决方案
你在复制不需要复制的信息.当您需要该信息时,您只需加入表即可检索它,无需存储两次.这将打破正常化规则.请在此处阅读我们关于规范化的文章:http://bytes.com/topic/access/insigh...ble-structures.

至于你的尝试...

在您的第一次尝试中,您在该位置的子查询必须只返回一条记录.您收到错误是因为您的子查询返回的记录不止一条.

在您的第二次尝试中,您尝试在 WHERE 子句中为子查询起别名.别名用于 FROM 子句中的记录集或 SELECT 子句中的列.它们不在 WHERE 子句中使用.除此之外,您在 WHERE 子句中的子查询本身不会做任何事情.

在您的第三次尝试中,DB2 不允许在 UPDATE 语句中使用 FROM 子句.

我尝试这样做是有原因的,它不是用于查找目的,您能帮忙吗我让查询工作?我们的 ADHOC 系统中有很多重复的数据.我知道为什么我的数据是这样的,我在查询上寻求帮助,而不是在寻找对我的数据布局的批评我没有创建这个怪物我试图解决空间问题而不必重新编写系统.我希望您能帮助纠正我的查询,而不仅仅是告诉我出了什么问题,DB2 正在这样做.顺便说一句,感谢 DB2 对我的查询错误的解释,我知道出了什么问题,我只是展示了一些尝试,以便更好地理解我正在尝试做的事情.

您的第一次尝试是最接近的.由于子查询应该只返回一行,因此解决方法是让它返回您需要的一行.这不是我可以为你回答的问题,因为你还没有告诉我们你需要哪一行.你只描述了tab1和tab2之间的关系,你没有告诉我们table2和这一切有什么关系.

本文地址:https://www.itbaoku.cn/post/1050657.html