Php 按产品进行价格检查,如果不可用,则获取类别价格,否则获取产品价格-需要mysql查询
下面给出了类别表和产品表模式,并给出了结果结构 产品表:Php 按产品进行价格检查,如果不可用,则获取类别价格,否则获取产品价格-需要mysql查询,php,mysql,Php,Mysql,下面给出了类别表和产品表模式,并给出了结果结构 产品表: category id | product id ------------------------- 1 : 1 1 : 2 1 : 3 价格表: category id | product id | price --------------------------------- 1 | NULL | 10.00 1
category id | product id
-------------------------
1 : 1
1 : 2
1 : 3
价格表:
category id | product id | price
---------------------------------
1 | NULL | 10.00
1 | 3 | 15.00
结果:
category id | product id | price
---------------------------------
1 : 1 : 10.00
1 : 2 : 10.00
1 : 3 : 15.00
我需要mysql查询这个条件。请帮帮我,我没什么主意了
提前感谢冗长的方法,但结果与预期一致
SELECT c.categoryid, c.productid, price
FROM cat c
JOIN link l USING(categoryid) WHERE l.productid IS NOT NULL AND l.productid<=>c.productid
UNION
SELECT c.categoryid, c.productid, price
FROM cat c
JOIN link l USING(categoryid)
WHERE L.productid IS NULL AND c.productid NOT IN(
SELECT DISTINCT c.productid
FROM cat c
JOIN link l USING(categoryid)
WHERE l.productid IS NOT NULL AND l.productid<=>c.productid
)
此处验证为我认为您的产品表和价格表可以合并为一个表。productcategory\u id、product\u id、price、prod\u name、date\u CreatedHanks对于查询,它有助于使用MySQL查询创建视图,无需其他循环