我有两个表 A 和 B, A 包含字段 Aid 和 sum, B 包含字段 Bid, x1 和 x2, Bid 是 B 表中唯一的,不过A 表中的Aid则不是唯一的,并且Aid 与 Bid 是多对一的关系,现在我想实现以下的功能:将 A.C > (B.x1 - B.x2) 的所有A.c 都更新为 (B.x1 - B.x2), 请问sql 语句的写法
解决方案 »
- 在存储过程中存在错误,帮忙看看...
- 多人同时从同一个表中取一条数据,如何避免取到相同的
- order by 不起作用.?
- 问一个关于sqlyog编译器乱码问题???????
- 请教如何不要安装mysql,在VS中动态创建数据库和表
- Mysqldump 多表联合条件数据导出如何设置
- mysql中MYISAM类型表的怪现象??请心帆帮忙看看。
- mysql中如何改数据文件的存放的目录.默认在/usr/local/share/var下
- C语言连接MYSQL,怎样检测这个句柄是否在用
- 急,win2000下怎样配置并创建mysql数据库表及字段?一定给分。
- mysql的视图能传参数吗
- MYSQL下的幽灵表`````怎么能把它找出来`~~
UPDATE A LEFT JOIN B ON AID=BID SET A.C=IF(A.C>(B.x1 - B.x2),(B.x1 - B.x2),A.C)
B.x1 > 0 and B.x2 > 0 and B.x1 > B.x2
update A,B set A.c = (B.x1 - B.x2) where A.Aid = B.bid and A.C > (B.x1 - B.x2)
UPDATE A LEFT JOIN B ON a,AID=b.BID SET A.C=IF(A.C>(B.x1 - B.x2),(B.x1 - B.x2),A.C)
where B.x1 > 0 and B.x2 > 0 and B.x1 > B.x2
可以,内连接
update a,b set ... where ...