3

私は MySQL があまり得意ではないので、助けが必要です。著者 (author_id, name)、本 (book_id, name)、出版社 (id, author_id, book_id) の 3 つのテーブルがあります。

rdbms だけで本を書いたり出版したりした著者だけを取得したいと考えています。

私は試した:

SELECT a.author_id, a.name, b.name as bookname
FROM author a
LEFT JOIN publisher p ON p.author_id = a.author_id
INNER JOIN book b ON b.book_id = p.book_id ANd b.name='rdbms'

これにより、rdbms に関する本を書いたすべての著者と、他の主題に関する本も書いた他の著者が得られるので、それらを除外したいと思います。

4

1 に答える 1

1

これを試して

SELECT a.author_id, a.name, b.name as bookname
FROM author a
LEFT JOIN publisher p ON p.author_id = a.author_id
INNER JOIN book b ON b.book_id = p.book_id
group by a.author_id
HAVING count(p.book_id) = 1 AND bookname='rdbms'
于 2013-01-22T04:50:48.037 に答える