日期:2014-05-17  浏览次数:20772 次

数据库一对多更新问题?
我有表结构如下:

表A
AId  Name     Img
1   name01   1-img.jpg
2   name02   2-img.jpg
3   name03   3-img.jpg
.....


表B
Bid    Aid      img
1      1        1-img-01.jpg
2      1        1-img-02.jpg
3      1        1-img-03.jpg
4      1        1-img-04.jpg
5      2        2-img-01.jpg
6      2        2-img-02.jpg
7      2        2-img-03.jpg
........
也就是一对关关系,
我现在要怎样,批量更新A表中的img列,值为B表的[img]列的一个,比如:
AId  Name     Img
1   name01   1-img-01.jpg
2   name02   2-img-02.jpg
3   name03   3-img-03.jpg

以上img列值无规律.


数据库 更新 修改 多表

------解决方案--------------------
既然无规则就取个最小的咯
UPDATE A
SET A.IMG=B.IMG
FROM A INNER JOIN (SELECT AID,MIN(IMG)IMG FROM B GROUP BY AID) B ON A.AID=B.AID