2015-03-30 53 views
0

我想知道从三个表中获取信息的最佳方式是什么。我想显示的是按项目计算的所有员工人数,并将其与项目名称和pnumber链接起来。我从WORKS_ON tbl中找到哪个员工在哪个项目上,该员工持有Essn记录(与SNMP员工表匹配)和Pno(与项目TEST匹配pnumber)。
我这样做:如何更改布局mvc中的属性5

Select pno, count(*) as empnum 
FROM WORKS_ON work inner join employee emp inner join project 
on work.essn=emp.ssn 
group by work.pno 
where pnumber in 
(select pno from WORKS_ON) 

我知道这是不对的,但不知道去哪里。

编辑: 我又试图

SELECT 
project, employee 
inner join works_on on WORKS_ON.essn = EMPLOYEE.SSN 
INNER JOIN WORKS_ON on works_on.pno = PROJECT.pnumber 
GROUP BY 
PROJECT.Pnumber 

,但仍然没有去。它说project.pnumber无效标识符

回答

0

你很近。您需要加入项目表,看起来像这样

SELECT 
    PROJECT.PNUmber, 
    COUNT(*) 
INNER JOIN WORKS_ON on EMPLOYEE.SSN = WORKS_ON.essn 
INNER JOIN PROJECT on WORKS_ON.pno = PROJECT.pnumber 
GROUP BY PROJECT.Pnumber