2016-03-03 59 views
1

我有三个表:计算机,个人电脑和员工。我试图找到名字为Tracy的雇员使用的计算机模型的名称。我会把每个表的例子。将涉及的一行,以及不涉及的一行。从多个表列出特定信息

电脑桌

comp | MFR | PROCT 
+-----+---------+-------+ 
|C101 | COMPAQ | 486DX | 
+-----+---------+-------+ 
|D111 | Dell | simm | 
+-----+---------+-------+ 

电脑桌

tagnum | comp | local | empnum 
+-------+------+--------+-------+ 
|77740 | C101 | Acct | 625 | 
+-------+------+--------+-------+ 
|37692 | H125 | Home | 456 | 
+-------+------+--------+-------+ 

雇员表

empnum | empname | empphone | 
+--------+-------------+-----------+ 
| 625 | Tracy S  | 1311 | 
+--------+-------------+-----------+ 
| 119 | Robert O | 1312 | 
+--------+-------------+-----------+ 

我的理由是,它应该是这样的:

select * 
from computer 
INNER JOIN pc ON computer.COMP=pc.comp 
INNER JOIN employee ON pc.empnum=employee.empnum 
where employee.empname='Tracy%'` 

但它不工作,我无法弄清楚我误解了什么。

+2

它应该是'LIKE'Tracy%''而不是'='Tracy%''。 –

+0

哦,我的天哪我不敢相信我错过了那样的事情。我甚至在之前需要使用'LIKE'回答两个问题。非常感谢。 – bonzo

+0

没问题,很高兴我能帮上忙。 –

回答

2
select * 
from computer 
INNER JOIN pc ON computer.COMP=pc.comp 
INNER JOIN employee ON pc.empnum=employee.empnum 
where employee.empname like 'Tracy%'` 

%运算符应该使用like而不是=运算符。