-2

---以下のクエリは、条件に関係なく、事実からすべての顧客を取得します

SELECT     count( dbo.Fact_Promotion.customerid) as Mailquantity
FROM         dbo.Fact_Promotion   
INNER JOIN dbo.Dim_Promotion  
    ON dbo.Fact_Promotion.PromotionID = dbo.Dim_Promotion.PromotionID 

---以下のクエリは、顧客に where 条件を提供します

SELECT     count(distinct fact_loan.customerid) as [New loans] ,avg(Fact_Loan.Financeamount) as [Avg New Loan Amount]
FROM         dbo.Fact_Promotion 
 where <condition> 
      AND  dbo.Fact_Loan.LoanTypeID = 6 
      AND dbo.Fact_Loan.AccountStatusID = 1

----以下のクエリは、異なる where 条件を持つ顧客を提供します

SELECT     count(distinct fact_loan.customerid) as [Total loans],avg(Fact_Loan.Financeamount) as [Avg Total Loan Amount]
FROM         dbo.Fact_Promotion 
 where <condition>
    AND dbo.Fact_Loan.AccountStatusID = 1
4

1 に答える 1

0

あなたの質問から、あなたが何を達成しようとしているのかわかりません。

2 番目のクエリの句は、3 番目のクエリWHEREの句からデータのサブセットを提供しているように見えWHEREます。WHERE2 番目のクエリ (新しいローン) に LoanTypeId (おそらく彼らが利用した金融商品) が 6 であるという追加の条件が含まれていることを除いて、両方のステートメントは同じように見えます。これは最新のローン商品またはキャンペーンであると思います。

何をしようとしているのかわからないと答えを出すのは難しいですが、LoanTypeId ごとに顧客の総数を表示したい場合は、LoanTypeId 列をSELECTステートメントに追加し、ステートメントGROUP BY dbo.Fact_Loan.LoanTypeIdの末尾にa を追加することで、カウントを集計できます。 .

これは、(やSELECTなど)で他のことを行っているため、簡単ではないかもしれませんが、最終目標が何であるかを知らなければ、質問に完全に答えるのは困難です。DISTINCTAVG

于 2015-06-19T09:00:23.880 に答える