2011-07-25 23 views
0

すべての営業担当者が受け取る予定の数を返すSQLステートメントを作成しました。私は3つのテーブルContract, SalesmenAppointmentを使って作業しています。そして、私は各営業マンがどれくらい多くのアポイントメントを受け取ったかを示す必要があります。複雑なSELECT FULL JOINステートメントのレコードがありません

私のフルネームを使用しても、結果は表示されません。私は、制約についての問題があることを発見しました。

私はExcept、Intercept and Unionオプションを検討しましたが、いずれも問題を解決できませんでした。担当者の完全なリストを取得するために使用できる方法はありますか?

私が使用した文の例があります:あなたの助けのための

SELECT C.RepID, COUNT(A.AppID) AS AppAttrib, C.AppointmentPurchased, S.Name, S.FirstName 
FROM Repartition.dbo.Contract C 
FULL JOIN Repartition.DBO.Appointment A 
ON C.RepID = A.RepID 
LEFT JOIN Repartition.DBO.Salesmen S 
ON S.RepID = C.RepID 
GROUP BY C.RepID, V.Nom, S.Name, S.FirstName 

おかげで、

アンテーノール

答えて

0

を詳細にあなたのテーブル構造を知らない、私はちょうどここに推測しています - しかし、私はあなたのクエリが間違った場所で始まると思う - あなたはSalesmenテーブルから始め、そこから行くべきです。基本的には、必要なテーブルSalesmenから列を選択し、必要に応じて他のテーブルに結合します。

このような何か:

SELECT 
    s.RepID, S.Name, S.FirstName, 
    COUNT(A.AppID) AS AppAttrib, 
    C.AppointmentPurchased 
FROM 
    Repartition.dbo.Salesmen s 
LEFT OUTER JOIN 
    Repartition.dbo.Contract c ON s.RepID = c.RepID 
LEFT OUTER JOIN 
    Repartition.dbo.Appointment a ON s.RepID = a.RepID 
GROUP BY 
    s.RepID, s.Name, s.FirstName 
関連する問題