Опять запрос не выходит

Духовность™

Продвинутый новичок
Опять запрос не выходит

Подскажите пожалуйста.

Есть таблица авторов, есть таблица книг.

Нужно вывести ВСЕХ авторов в список, при этом в скобочках указать кол-во книг каждого конкретного автора.

Запрос
[sql]
SELECT
authors.id_author,
authors.author_name,
COUNT(*) as count
FROM
authors,
books
WHERE
authors.id_author = books.id_author
GROUP BY
authors.id_author
ORDER BY
author_name ASC
[/sql]

выводит только тех авторов, у которых есть книги. А мне нужно всех получить.
 

Bitterman

Новичок
LEFT JOIN
Вроде ты недавно спрашивал что-то подобное? Или это был не ты?
 

Духовность™

Продвинутый новичок
SELECT authors.id_author, authors.author_name, COUNT( * ) AS count
FROM authors
LEFT JOIN books
ON authors.id_author = books.id_author
GROUP BY authors.id_author
ORDER BY author_name ASC
 

berkut

Новичок
ф таких случаях, не правда-ли разумно приводить запрос, который тоже не работает?
 

Bitterman

Новичок
triumvirat
хм, по идее должно работать. А если вместо * поставить books.id ?
 

antson

Новичок
Партнер клуба
triumvirat
мускул прощает, в остальных бд можешь поймать ошибку
У тебя если упростить :
select A,B,груповая_функция() from
.... group by A order B

так вот B тоже лучше указывать в group by
 
Сверху