1

2つのテーブルがあります。1つは従業員で、メールサブスクリプションの従業員は次のようになります。

名前(pk)| 姓| 年

サブスクリプションの郵送

MailId(pk)| EmployeeName(fk)|説明| 日にち

各顧客のサブスクリプション番号が欲しかったので、次のクエリを試しました。

Select COUNT(c.Name) 
From Employee 
    INNER JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName;

メーリングサブスクリプションにエントリある各従業員のすべてのカウントが表示されます。

私の問題は、エントリのない従業員(したがって0を表示)を含むすべての従業員のカウントを確認したいのですが、外側の左/右結合を試しましたが、機能しません。私は何か間違ったことをしていますか?

4

1 に答える 1

6
SELECT c.name, count(m.mailid)
FROM Employee 
   LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName
GROUP BY c.name;
于 2011-03-27T09:39:30.977 に答える