zapytanie wygląda ok, więc w czym problem? wywala jakiś błąd czy po prostu chodzi Ci o to, że nie pobrało nazwy kategorii, bo jeżeli to drugie to w części pierwszej nie dałeś nazwy kolumny z nazwą kategorii, powinno być coś w stylu:
$q = mysql_query("SELECT news_cat.id, news.id, news.title, news.autor, news.data, news.news_cat_id, news.body, news.image, news_cat.label
FROM news LEFT JOIN news_cat
ON news.news_cat_id = news_cat.id
ORDER BY news.id DESC LIMIT 1");
dodatkowo w obu tabelach masz tą samą nazwę id, więc warto by tu użyć aliasu
$q = mysql_query("SELECT news_cat.id AS cat_id, news.id, news.title, news.autor, news.data, news.news_cat_id, news.body, news.image, news_cat.label
FROM news LEFT JOIN news_cat
ON news.news_cat_id = news_cat.id
ORDER BY news.id DESC LIMIT 1");