大家好,我有一个sql:
SELECT p.* FROM products p WHERE required_product_id IS NULL
UNION ALL
SELECT p.* FROM products p, orders o WHERE p.required_product_id = o.product_id
AND o.user_id = 1
UNION DISTINCT
SELECT p.`*` FROM products p, orders o WHERE p.id NOT IN (SELECT product_id FROM orders WHERE product_id = p.id AND o.user_id = 1)
AND p.max_buys = 1;
此查询首先检查项目是否已购买并显示下一个项目!我想检查用户是否购买了该产品,以返回只有该产品,用户不买它
表结构=产品:http://prntscr.com/k6ogp4 ,订单:http://prntscr.com/k6ogrz
max\ U在产品上购买colum(如果它是1,它可以购买一次,如果它是0,它可以购买多次)
1条答案
按热度按时间0dxa2lsx1#
在您的情况下,我更希望有一个灵活的查询来管理需求,而且我认为在这种情况下不需要union(如果您的描述是完整的)。
您也可以根据您的要求管理任何其他订单。