0

まず、私が現在使用しているデータは次のとおりです。

名前、電話番号、電子メール、請求書の費用

名前、電話、メールの詳細を選択するクエリを作成しようとしています。

  • ユーザー (メールで識別) は、過去 180 日以内に 2 回以上購入しています
  • この 180 日間のすべての請求書の総費用は 500 を超えます

以下は、これまでに思いついたSQLですが、まったく役に立たないでしょう。

SELECT Name, Phone, Email, InvoiceCost
FROM INVOICE JOIN
    (SELECT INVOICE.Email, count(*) AS TotalCount,
     SUM(
         CASE WHEN INVOICE.InvoiceDate >= (GETDATE() - 180) 
              THEN 1 
              ELSE 0 
         END) AS LastSixMonths
     FROM INVOICE
     GROUP BY INVOICE.Email) e
ON INVOICE.Email = e.Email
WHERE (e.TotalCount > 1 AND e.LastSixMonths = 1);

総原価部分を組み込む方法がわかりません。助けてください!

4

1 に答える 1

1

名前、電話番号、電子メールの一意の組み合わせを個々の顧客と見なすとします。

SELECT Name, Phone, Email, Count(*) AS TotalCount, Sum(InvoiceCost) AS TotalCost
FROM INVOICE
GROUP BY Email, Name, Phone
WHERE DateDiff(d, InvoiceDate, GETDATE()) <= 180
HAVING Count(*) >= 2 OR Sum(InvoiceCost) > 500.0
于 2013-09-04T13:48:20.180 に答える