我有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表名不指定 –
哦对不起。 –