gpt4 book ai didi

sql - 如何找到购买产品 A 和 D 的客户间隔 > 6 个月?

转载 作者:行者123 更新时间:2023-12-04 20:22:26 26 4
gpt4 key购买 nike

我需要更多高级 SQL 专家的建议。

我被要求创建一个报告,显示购买了产品 105 和 的客户。谁在 6 个多月后购买了产品 312 .

例如,我有以下 Orders 表:

RecID   CustID   ProdID   InvoiceDate
1 20 105 01-01-2009
2 20 312 01-04-2009
3 20 300 04-20-2009
4 31 105 07-10-2005
5 45 105 10-03-2007
6 45 300 11-10-2007
7 45 312 08-25-2008

我需要一份查看此表并返回的报告:
CustID   ElapsedDays
45 327

我是否需要使用游标并逐条记录迭代,并在进行时比较日期?

如果是这样,游标过程会是什么样子?我没有使用过游标,尽管我已经做了多年的程序编程。

谢谢!

最佳答案

你上面有一些很好的答案;自加入是要走的路。我想建议你如何最好地思考这样的问题。如果您在不同的表中购买了产品 A 和 D 怎么办?并不是说您应该以这种方式存储数据,而是应该以这种方式考虑数据。如果你这样做了,你可以在客户 ID 上加入 product_a_purchases 到 product_d_purchases 并比较日期。因此,出于查询的目的,这就是您需要生成的内容。不是 product_a_purchases 的实际磁盘表,而是您的购买表中的记录表,其中仅包含产品 A 的购买,产品 D 也是如此。这就是自联接的来源。

关于sql - 如何找到购买产品 A 和 D 的客户间隔 > 6 个月?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4960337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com