update from 有3表,子查询返回行数太少,达不到预期
update from 有3表,子查询返回行数太少。
TAB1,TAB2,TAB3
TAB1:
A1,A2,A3,A4
数据:
1111,2222,333,-
1111,4444,555,-
1111,4453,666,-
2222,2222,333,-
2222,4444,555,-
2222,4453,666,-
TAB2:
A1,A2,A3
数据:
1111,FF,DD
2222,EE,KK
TAB3:
A1,A2
数据:
EE,GG
FF,MM
TAB1的A1 值和TAB2的A1是是对应的,
TAB2的A2和TAB3的A1是对应的
想把TAB1的A4 更新成TAB3的A2
写下:
UPDATE xtm12
SET wpsxlb27 = RTRIM(LTRIM(MYRESULT.F2))
FROM ( SELECT RTRIM(LTRIM(X12.wpsxlb1)) 工艺号,
RTRIM(LTRIM(JJ.F1)) F1
FROM xtm12 X12 ,
YHJ_YANGHUI YY ,
YHJ_JJQ JJ
WHERE RTRIM(LTRIM(X12.wpsxlb1)) = RTRIM(LTRIM(YY.工艺号))
AND RTRIM(LTRIM(YY.季节)) = RTRIM(LTRIM(JJ.F2))
GROUP BY RTRIM(LTRIM(X12.wpsxlb1)),RTRIM(LTRIM(JJ.F1))
) AS MYRESULT
WHERE RTRIM(LTRIM(MYRESULT.工艺号)) = RTRIM(LTRIM(xtm12.wpsxlb1))
单独 FROM 里面的子查询
SELECT RTRIM(LTRIM(X12.wpsxlb1)) 工艺号,
RTRIM(LTRIM(JJ.F1)) F1
FROM xtm12 X12 ,
YHJ_YANGHUI YY ,
YHJ_JJQ JJ
WHERE RTRIM(LTRIM(X12.wpsxlb1)) = RTRIM(LTRIM(YY.工艺号))
AND RTRIM(LTRIM(YY.季节)) = RTRIM(LTRIM(JJ.F2))
GROUP BY RTRIM(LTRIM(X12.wpsxlb1)),RTRIM(LTRIM(JJ.F1))
返回 很少一部分行,达不到预期
各位有何良策?