我有五个表,它们的关系列在图片中。我想编写一个查询,以显示在 2013 年 7 月 15 日至 2013 年 7 月 31 日期间购买 Foresters Best 品牌面漆的任何客户的名字、姓氏、街道、城市、州和邮政编码。如果客户购买了不止一种这样的产品,在输出中只显示一次客户的信息。按州、姓氏和名字对输出进行排序。
我对只有一个条件的查询没问题,但是对于这个多个(可能缩进?)条件,我完全被卡住了。我可以这样分析结构:
IN LGBRAND TABLE: Brand_ID = 23 ~ Brand_Name = "Foresters Best"
inv_date from lginvoice where inv_date between "2013-7-15" and "2013-7-31"
prod_category from lgproduct = "Top Coat"
谢谢!
没有样本数据很难确定,但这样的事情应该可行:
SELECT DISTINCT c.*
FROM LGCUSTOMER c
JOIN LGINVOICE i ON i.Cust_Code = c.Cust_Code
JOIN LGLINE l ON l.Inv_Num = i.Inv_Num
JOIN LGPRODUCT p ON p.Prod_SKU = l.Prod_SKU
JOIN LGBRAND b ON b.Brand_ID = p.Brand_ID
WHERE b.Brand_Name = 'Foresters Best' AND
p.Prod_Category = 'Top Coat' AND
i.Inv_Date BETWEEN '2013-07-15' AND '2013-07-31'
ORDER BY c.Cust_State, c.Cust_Lname, c.Cust_Fname
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句