这就是问题所在,我有4张table:
书
idbook ISBN title sinopse pages lang code year edition idedit
1 EC2 somet thing 34 ES Ec2 2011 1 1
2 EC3 more things 545 ES Ec4 2012 2 2
3 EC4 lots ofthing 323 EN Uk1 2014 1 1
社论
idedit name country web
1 Pearson USA www.pearson.com
2 Pretince UK www.pretince.com
作者
idaut name country bio
1 George USA lorem ipsum
2 Jeff UK dolor sit amet
作者
idbook idaut order
1 1 2
2 2 5
3 1 7
所以,我需要一个视图,只显示符合es lang的元素,按年份排序。对于每一本书,你需要显示:年份,标题,isbn,版本,编辑姓名和作者姓名。没有问题的名称编辑和秩序,但我不知道如何获得作者的名字。authory是书和作者中间的一个表。这是我目前的代码:
create view `INFORMATICS` as
(select l.year, l.title, l.isbn, l.edition, e.name
from books l
inner join editorial e on e.idedit=l.idedit
where lang = 'ES'
)
选择到这一点是好的,但我如何才能添加作者的名字?例如a.name以获得如下表:
year title ISBN edition editorial_name author_name
2011 somet EC2 1 Pearson George
2012 more EC3 2 Pretince Jeff
2条答案
按热度按时间piztneat1#
尝试以下方法,你必须加入
authory
与books
获取作者ididaut
然后加入authory
与author
获取作者姓名。olhwl3o22#
你可以像普通table一样使用它
但您需要在视图中添加另一个列,即idbook
然后选择“内部联接”
正如草莓正确指出的那样,视图有一些限制,包括不能使用索引,因此当您直接使用索引时,它的速度可能会慢一些