0

私の従業員テーブル

EMPLOYEEID, EMPLOYEENAME

My CallReportEmployee テーブル

ReportID, EMPLOYEEID

マイレポートテーブル

ReportID , ReportName

取得したいときは、すべての従業員名を表示したいのですが、それらがReportID 1を選択しなかった場合

1 つのレポートに多数の従業員を含めることができます

ReportID が 1 ではなく 1 のすべての従業員を一覧表示するにはどうすればよいですか?

EMPLOYEENAME    REPORTID
Roger              1
Peter              1
Shawn             NULL
Peter             NULL

私はこれを試してみましたが、うまくいきませんでした

SELECT rc.EmployeeID, rc.ReportID, e.FirstName
FROM employee e
LEFT JOIN callreportemployee rc ON e.ID = rc.EmployeeID

すべての従業員を表示するだけです

EMPLOYEENAME    REPORTID
Roger             Null
Peter              1
Peter              2
Shawn              3
Shawn              2
John             NULL

追加すると、where rc.ReportID = 1ピーターのみが表示されます

希望のフォーマットを実現するにはどうすればよいですか? 名前を重複させたくない

4

1 に答える 1

0

希望のフォーマットを実現するにはどうすればよいですか? 名前を重複させたくない

次のクエリのように、句を使用しGROUP BYて重複する名前を集約します。

SELECT U.Id as [User Link], Count(Pt.Id) AS ANSWERS
FROM Users U, Posts P, PostHistory Ph, PostTypes Pt
WHERE
Pt.Id = Ph.PostHistoryTypeId
AND
U.Id = P.OwnerUserId
AND
P.Id = Ph.PostId
AND
Pt.Id = 2
GROUP BY U.Id
HAVING Count(Pt.Id) > 2000
ORDER BY ANSWERS DESC

参考文献

于 2014-01-16T01:11:32.770 に答える