【问题标题】:Query: Find customers who have made purchase of every type of flower offered by shop查询:查找购买过店铺提供的各类鲜花的顾客
【发布时间】:2020-01-24 04:31:38
【问题描述】:

我需要找到购买过商店提供的每种花束的客户。 输出架构:(客户)

在数据库中查找 2017 年未下过任何订单的不同客户。您可以通过标准运算符 、= 比较日期值 输出架构:(Cust,CName)

表名:

鲜花(产品、名称、描述、价格)
客户(客户、CName、CAddress、CCity、CZip、CState、Card、CardNo、Exp)
订单(订单、产品、客户、日期、RName、RAddress、RCity、RZip、RState)

这两个查询的解决方案是什么?

【问题讨论】:

  • 标题中的问题与问题中的问题不同。
  • 到目前为止你尝试过什么?对我来说,这看起来像是家庭作业????

标签: mysql sql


【解决方案1】:

对于第一个查询,你可以试试下面 -

SELECT C.CName
FROM Customer C
JOIN Order F ON C.CUST = O.CUST
JOIN Flowers F ON F.PROD = O.PROD
GROUP BY O.CUST
HAVING COUNT(DISTINCT PROD) = (SELECT COUNT(DISTINCT PROD) FROM Flowers)

第二个查询,你可以试试——

SELECT DISTINCT C.CUST, C.CName
FROM Customer C
WHERE C.CUST NOT EXIST (SELECT 1
                        FROM Order O
                        WHERE O.CUST = C.Cust
                        AND YEAR(Date) = 2017);

【讨论】:

    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    相关资源
    最近更新 更多