【发布时间】:2015-09-20 00:41:53
【问题描述】:
这个问题似乎被问了很多,但我找不到任何处理更新的问题,而处理其他问题的问题也没有帮助。我觉得我遗漏了一些明显的东西,但我不能指望它。
我有以下查询来使用另一个表中的 ID 更新我的表,以启用与电子表格的匹配:
update TABLE3 set ITM_CD2 =
(select pi.ITM_CD2
from schema1.PI_TABLE pi,
TABLE3 tb3
where pi.OTHER_ITM_CD = tb3.OTHER_ITM_CD)
我实际上无法完成更新,因为我不断收到“需要单行子查询”的问题。
编辑:我应该提到 pi 表来自一个单独的模式。
编辑 2: 更多细节;这是我试图获得的一个例子:
表 3 目前有此数据,例如:
NAME ----- PRODUCT ----- ITM_CD1 ----- ITM_CD2
X Y 11 NULL
A B 12 NULL
C Y 11 NULL
我正在尝试从这个项目表中附加数据,以便获得第二个 itm_cd,这将允许我将它与具有 ITM_CD2 但没有 ITM_CD1 的表进行比较。表 3 中的 NULL 将替换为匹配的 ITM_CD2。
我试图从中获取 ITM_CD2 的表如下所示:
PRODUCT ----- ITM_CD1 ----- ITM_CD2
A 10 90
Y 11 98
B 12 87
【问题讨论】:
-
独立运行子选择,是否只返回 1 行?
-
它确实返回不止一行。我的问题是弄清楚如何让它只返回一行。到目前为止,所有答案都没有奏效。
-
如果您添加一些示例数据(两个表),并向我们展示预期的结果,它会更容易为您提供帮助!
-
我添加了一些表格来说明我的意思,并解释了我想从中得到什么。希望对您有所帮助。
标签: sql oracle sql-update