Ich habe einen Blog mit 2 Tabelle. Erste posts
Tabelle mit einem Schlüssel category_id
und categories
Tabelle. Auf einer Seite möchte ich alle Kategorien mit der Anzahl ihrer Beiträge anzeigen. Ich schreibe diese Abfrage, aber es hat ein Problem. Es wurden keine Kategorien ohne Posts angezeigt. in anderen Wortkategorien mit 0 Posts erschien nicht in den Ergebnissen.Join und Gruppe von nicht richtig funktioniert in Laravel
Und kann Ihnen helfen, diese in beredten System in Laravel
SELECT categories.* , Count(posts.total) as total
FROM categories
LEFT JOIN
(
SELECT * , COUNT(*) as total from posts GROUP By posts.id
) as posts
ON posts.category_id = categories.id
Was genau erwarten Sie von Ihrem äußeren 'COUNT' zu tun, wenn Sie nicht tun habe eine äußere 'GROUP BY'? Außerdem sollten Sie sich angewöhnen, Ihre Spalten explizit auszuwählen, anstatt '*' zu verwenden, damit Sie dem SQL-Standard folgen können, Spalten auszuwählen, die entweder Aggregatfunktionen sind (z. B. COUNT) oder in Ihrer GROUP aufgeführt sind BY'. –