我有3個表:選擇加入和計數
- 員工
- 問題
- 消息
問題1:
我要顯示所有在問題表中存在問題的員工。我做到了這一點,但我需要在消息表中顯示所有他/她的消息,其中指示列名稱is_read = 0
。
SELECT distinct E.NAME, E.EMP_ID
FROM ISSUES I
INNER JOIN EMPLOYEE E ON E.EMP_ID = I.RECEIVER ORDER BY E.NAME ASC
問題2:
已發行表中的每個問題是郵件表中的問題,我想顯示在消息表未讀郵件的數量。基礎是列名_is_read_,0表示尚未打開,1已被讀取。
下面是我已經做到了,但有一些錯誤是:
SELECT I.SUBJECT, COUNT(M.IS_READ) AS UN_READ
FROM MESSAGES M
LEFT JOIN ISSUES I ON I.ID = M.ISSUE_ID
WHERE I.RECEIVER = '1234' AND M.IS_READ = 0 and M.RECEIVER = '1234'
GROUP BY I.SUBJECT
輸出:
SUBJECT UN_READ
Always Absent 13
Attendance Incomplete 1
Pending Requirements 6
錯誤的,因爲員工有問題表4期和另一個有沒有消息還沒有,我想仍然顯示它。
清理了一下代碼。第二個SQL代碼片段有不匹配的別名('C'?) – Mackan
第二個問題應該是使用c表名不指定 –
哦對不起。 –