SELECT gi.ID,gi.`Name`, IF(rp.ResellerPrice = NULL,IF( pp.ProvincePrice=NULL,gi.Price,pp.ProvincePrice),rp.ResellerPrice) Price, gi.Brief ,fa.path FROM goodsinfo gi LEFT JOIN reprices rp on gi.ID=rp.GoodsInfoID LEFT JOIN provinceprices pp on gi.ID= pp.GoodsInfoID
求助,问题描述:
查询的时候,先在reprices 表查有没有数据,
有就是reprices 表中的数据,如果没有数据则查询provinceprices 表中数据
有就是provinceprice表中数据, 没有才是goodsinfo表中数据。
你就不能把这事在代码里面判断,非得累死MYSQL?
呃,先告诉我累死mysql 的方法吧~
你的问题描述里提到有就是xxx,没有就是yyy,这里不就涉及到逻辑判断了吗?先定义变量flag,然后先查询一条reprices数据,如果有则置flag为true,然后根据flag,进行IF ELSE判断,写两条SQL语句即可