无法绑定 multi-part 标识符。 3 table 加入

The multi-part identifier could not be bound. 3 table join

USE pubs
SELECT DISTINCT L.au_fname, L.au_lname
FROM dbo.authors L, dbo.titles B
JOIN dbo.titleauthor C ON dbo.authors.au_id=C.au_id
INNER JOIN dbo.titleauthor C1 ON B.title_id=C1.title_id
WHERE B.price >= 13
ORDER BY L.au_lname ASC

这段代码中加粗的 dbo.authors 不断产生下面的错误...我显然不理解别名,因为我这辈子都无法确定哪里出了问题。我尝试将其更改为 "L" 但同样的错误发生了。我没想到双连接会这么难。

解释我想在这里做什么。我正在尝试从 table 作者那里获取信息,以根据 table 标题上的 WHERE 语句显示。然而,他们只有第 3 个 table 指定的标题作者有共同的 PK。因为我正在尝试通过公共 PK 将所有 3 个 table 连接在一起。

您在一个位置使用笛卡尔积,在一个位置使用连接..那是不允许的。 您需要像下面这样使用 - 添加连接条件....我没有您的列名。

USE pubs
GO


SELECT DISTINCT L.au_fname, L.au_lname
FROM dbo.authors L 
INNER JOIN dbo.titleauthor C ON L.au_id=C.au_id
INNER JOIN dbo.titles B ON B.title_id=C.title_id
WHERE B.price >= 13
ORDER BY L.au_lname ASC