价格检查产品如果不可用获取类别价格其他产品价格 - 需要mysql查询
问题描述:
类别表和产品表模式给出如下,并给出结果结构。价格检查产品如果不可用获取类别价格其他产品价格 - 需要mysql查询
产品表:
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
)
验证这里sqlfiddle
+0
感谢您的查询,它有助于使用MySQL查询创建视图,无需其他循环 – Praveen 2018-01-22 11:53:46
我觉得你的产品表和价格表可以合并成一个表。产品(category_id,product_id,price,prod_name,date_created) – Edrich 2014-11-24 08:33:24