我是批发商
我有桌子
customers -> customer_id , companyname , contact_name , phone_number , email , adress and city
products -> product_id , product_name , unit_price
Sale -> sale_id , Date , customer_info , Serial_Number ** customer info is customer id
Sales_detail -> Sale_detail_id , Product_ID , Quantity , sale_id
这是我的问题:
我需要找到尚未出售给客户的产品
例如:
我有p1 p2 p3 p4 p5和c1 c2 c3
c1买了p1 p2所以我需要一个查询来找到这个:c1 - >> p3 p4 p5
答案 0 :(得分:0)
这样的事情会起作用:
SELECT c.customer_id, p.product_id
FROM customers c, products p
WHERE NOT EXISTS
(SELECT 1
FROM sale s
INNER JOIN sales_detail sd ON s.sale_id = sd.sale_id
WHERE s.customer_info = c.customer_id
AND sd.product_id = p.product_id)
ORDER BY c.customer_id, p.product_id
对于每个客户ID,请选择没有销售的产品ID,以使与销售相关联的客户信息与客户ID匹配,并且与销售相关联的产品与产品ID匹配。