我需要显示以超过20美元的价格出售商品的人的名字和姓氏,我需要加入标题和作者表,但他们没有任何常用密钥?我该怎么做呢?我只需要显示他们的名字作为输入,这是我到目前为止所得到的结果。我只是在学习,所以尽量不要太技术化
以下是列名:
authors: pk- au_id
au_fname
au_lname
titles: pk- title_id
title
price
fk- pub_id
这是我到目前为止所做的:
select price, au_lname, au_fname
from titles JOIN authors
on authors.au_id=titles.pub_id
答案 0 :(得分:1)
看起来您还有titleauthor
表。这将有助于您的示例代码中的查询。但是,在这种情况下不需要此表,因为您的问题实际上是询问销售人员,而不是作者。你真的想要这样的东西:
select distinct e.firstname, e.lastname
from sales s
inner join employee e on e.empl_id = s.empl_id
where s.itemprice >= 20
当然,我不得不在这里猜测你的列名。您可以对此进行扩展,以包含有关这些项目的标题和作者的信息,如下所示:
select distinct e.firstname as SalePersonFirstName, e.lastname as SalesPersonLastName
, t.Title, a.Lastname As AuthorLastName, a.firstname as FirstName
, s.itemprice
from sales s
inner join employee e on e.empl_id = s.empl_id
inner join titles t on t.title_id = sales.title_id
inner join titleauthors ta on ta.title_id = t.title_id
inner join authors a on a.au_id = ta.au_id
where s.itemprice >= 20