jiafuwei520
2015-07-02 12:25
采纳率: 50%
浏览 1.6k

mysql两张表关联设置里面的内容

已经第一张表goods 主键goods_id,价格price,另一张表product 有外键goods_id,价格price。现在要求如果product中的price=0,那么设置这个price的值等于goods表中的price,求这条sql怎么写,谢谢大家

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 丵鹰 2015-07-02 14:18
    已采纳

    update product set product .price=goods.price where product.goods_id=goods.goods_id and product.price=0

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 知常曰明 2015-07-02 12:33
     SELECT g.id,case when p.id = 0 then g.id else p.id end 
      FROM  goods g inner join products p on g.goods_id = p.goods_id
    WHERE ...
    
    评论
    解决 无用
    打赏 举报
  • danielinbiti 2015-07-02 14:42
     update product set price=(select price from goods where goods_id=product.goods_id limit 0,1) where price=0
     #limit 防止数据万一有多条
    
    评论
    解决 无用
    打赏 举报
  • yuke198907 2015-07-03 00:58

    update t set t.price=p.price from product t left join goods p on t.goods_id=p.goods_id where t.price=0

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题