我有两张桌子:
作者表:
id_author
author(author name in this column)
author_ind表:
id_book
id_author
我的查询是:
SELECT author
FROM authors
LEFT JOIN author_ind
ON author_ind.id_book = author_ind.id_author
LEFT JOIN authors author
ON author_ind.id_author = authors.id_author
WHERE author_ind.id_book=%d
我需要根据author_ind表中的id_book从authors表中获取作者信息。 MYSQL错误#1052 - 字段列表中的列“作者”不明确。
请帮助不多:)
更新:谢谢大家。正确的查询:
SELECT authors.author
FROM authors, author_ind
WHERE author_ind.id_book =14
AND authors.id_author = author_ind.id_author
14只是一本书ID,我用它来测试它是否有效而不是%d
答案 0 :(得分:0)
根据你想要得到的东西,你已经使它变得比它需要的更复杂。您不需要在authors表上进行第二次连接。此外,如果您只想要在author_ind表中有记录的作者,则可以INNER JOIN
代替LEFT JOIN
:
SELECT author
FROM authors
INNER JOIN author_ind
ON authors.id_author = author_ind.id_author
WHERE author_ind.id_book=%d