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查询创建视图,无需其他循环