在另一个表上将另一个表连接到另一个ID

时间:2019-09-17 01:54:43

标签: sql

我有一个数据库,其中包含作者姓名,姓氏和带有销售价格的书名。

我试图创建一个查询,该查询将提取作者的姓氏和名字,这些书的价格低于$ 15.60,并且仅按该顺序显示姓氏和名字,而没有重复的姓氏记录。

列-au_lname,au_fname,价格 表格-身份,标题

这是我到目前为止所拥有的...

SELECT DISTINCT au_lname, au_fname
FROM authors, titles, titleauthor
JOIN authors ON titleauthor.au_id = authors.au_id
 JOIN titles ON titleauthor.title_id = titles.title_id
WHERE price < 15.60
ORDER BY au_lname DESC

表“ titleauthor”具有一个名为“ au_id”的键(也在“ authors”表中)和一个名为“ title_id”的键(也在“ titles”表中) 这是我加入他们的地方吗?如果是这样,我该怎么做?

这是数据库的SQL文件 argwhere

[![查询结果] [1]] [1] https://drive.google.com/open?id=1Nzkg6T8VbgDL-xC282uNZ5coUD5bdFy-

2 个答案:

答案 0 :(得分:0)

首先,您在表之间需要一个JOIN条件。尚不清楚应该是什么。

第二,您只需要从price中删除SELECT

SELECT DISTINCT au_lname, au_fname
FROM authors a JOIN
     titles t
     ON a.? = t.?   -- surely there is a `JOIN` condition
WHERE t.price < 15.60
ORDER BY au_lname DESC

答案 1 :(得分:0)

我知道了...

我的JOIN语法不正确

SELECT DISTINCT au_lname, au_fname
FROM authors
JOIN titleauthor ON titleauthor.au_id = authors.au_id
 JOIN titles ON titleauthor.title_id = titles.title_id
WHERE price < 15.60
ORDER BY au_lname DESC

。 。 。

enter image description here