请教一个mysql 的sql 语句写法 我有两个表 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 语句的写法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TRY:UPDATE A LEFT JOIN B ON AID=BID SET A.C=IF(A.C>(B.x1 - B.x2),(B.x1 - B.x2),A.C) sorry,A 包含 Aid 和 C 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) 多谢wwwwb,原来sql语句里还能用if 这样的逻辑操作呀,应该是没问题的,我想更进问一下条件加强的情况,加强条件如下: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) 感觉这条if 语句象C里的 (a > b) ? a : b,是这样的吗 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 to yueliangdao0608: update 后可以接两个表名吗 update 后可以接两个表名吗可以,内连接update a,b set ... where ... 求一份地区数据 MYSQL 编码问题 提示空间不够,但是空间充足的啊! 怎么修改下面这个存储过程 请教mysql在参数查询时的问题? 用ODBC连接MYSQL数据库的时候 有没有办法知道mysql装在哪个盘的?? 网站搬迁,进入网页出现这种情况,代码是php格式。数据库是MYSQL。 如何用Group By 实现多个数据,筛选区间的汇总 MySQL实现查询数据并计算后,把多行数据显示在一行 怎么用mysql把mdf和ldf文件打开啊啊啊啊,好苦恼啊 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 ...