在 SQL 中使用 JOIN 时如何使用引用多个 ID

How to use refer to multiple id's when using JOINs in SQL

我尝试显示员工提供的评论数和他收到的评论数。我尝试做这样的事情,但在我的输出中 table (3) 我收到了不正确的数据。我相信这是由于错误的引用而发生的:

pr.reviewer_id = e.employee_id

但是,如果我这样引用它:

pr.employee_id = e.employee_id 

那么 nr_of_reviews_receieved 是正确的,而 nr_of_reviews_posted 不是,如果我把它改回去,反之亦然。因此,我需要在一种情况下使用一个参考,在另一种情况下使用不同的参考,但都在一个查询中。

SELECT 
    e.employee_id, 
    CONCAT_WS(' ',employee_first_name, employee_last_name) AS full_name,
    COUNT(pr.reviewer_id) AS nr_of_reviews_posted,
    COUNT(pr.employee_id) AS nr_of_reviews_received
FROM 
    employee AS e
LEFT JOIN 
    performance_review AS pr ON pr.reviewer_id = e.employee_id
GROUP BY 
    employee_first_name, employee_last_name, e.employee_id

您必须对 table 进行两次采样,然后每次都加入 table 例如:

SELECT 
e.employee_id, 
CONCAT_WS(' ',employee_first_name, employee_last_name) AS full_name,
COUNT(pr.reviewer_id) AS nr_of_reviews_posted,
COUNT(pr2.employee_id) AS nr_of_reviews_received
FROM 
employee AS e
LEFT JOIN 
performance_review AS pr ON pr.reviewer_id = e.employee_id
LEFT JOIN 
performance_review AS pr2 ON pr2.employee_id = e.employee_id
GROUP BY 
Necessary columns ...