0

我有一条记录,我想用另一个表中相同字段的数据更新一个字段。问题是查找表包含重复的记录,所以我只想从第一个匹配的记录中获取数据。

这是我现在所拥有的,但我收到了这个错误:

太多的值

我的查询是:

UPDATE T_TABLE1 T1 
SET T1.UPDATEFIELD =  (SELECT DISTINCT(T2.itemtag), MAX(T2.UPDATEFIELD) 
                       FROM T_TABLE2 T2  
                       WHERE T2.ITEMTAG = T1.ITEMTAG 
                       GROUP BY T2.itemtag)
4

2 回答 2

2

这个怎么样:

UPDATE T_TABLE1 T1 
SET T1.UPDATEFIELD =  (SELECT MAX(T2.UPDATEFIELD) 
                       FROM T_TABLE2 T2  
                       WHERE T2.ITEMTAG = T1.ITEMTAG 
                       GROUP BY T2.itemtag)
于 2013-06-24T15:40:26.393 回答
0

您正在选择导致问题的两列;

UPDATE T_TABLE1 T1 
SET T1.UPDATEFIELD =  (SELECT MAX(T2.UPDATEFIELD) 
                       FROM T_TABLE2 T2  
                       WHERE T2.ITEMTAG = T1.ITEMTAG 
                       GROUP BY T2.itemtag)

希望这有帮助。

于 2013-06-24T15:50:22.903 回答