There is a very interesting and generic solution to these cases where you want to display values that do not exist in the database. Values where JOINS do not resolve, since there are no records in the database.
This solution is based on the use of a table that contains only one field of type int and is populated with 999999 of records.
It is the famous Numbers table ( link ). Obviously, the name does not matter, but it is called by many of Numbers.
How to create and populate this table in SQL Server can be seen here: link
To use it, in its context, do so:
SELECT NUMBER, COUNT(T.STATUS)
FROM NUMBERS N
LEFT JOIN TABELA T
ON (T.STATUS = N.NUMBER)
WHERE N.NUMBER <= 8
GROUP BY NUMBER
SQLFiddle with this example: link
Understand Numbers like a Swiss Army Knife. You can solve various problems of this type using it.
Another well-known example is when we need to show production for every day of the month, even for the days where the production was 0. With Numbers this is very easy, since it contains every day.