pomoc w zapytaniu do wygenerowania wykresu

0

Witam. Proszę o wskazówki do tworzenia zapytania które będzie mi potrzebne do wygenerowania wykresu w Chart.js
Potrzebuję tabelkę w której znajdzie się nazwa_kategorii oraz ile (to będzie liczba ofert która jest przypisana do danej kategorii)

Stworzyłem już zapytanie które wyswietla nazwę kategorii oraz 'Ile" ale tylko jeśli istnieje oferta z daną kategoria. Ja potrzebuję listę kategorii i liczbę ofert nawet jeśli kategoria nie jest przypisana do żadnej oferty.
Zapytanie wygląda tak:

SELECT nazwa_kategorii, count(kategoria) as ile from kategorie, oferty where oferty.kategoria=kategorie.id_kategoria group by kategoria;

A tak wygląda jego wynik:
Przechwytywanie.PNG

W wyniku powinna być np jeszcze kategoria E-commerce z wynikiem 0. i

Tablela kategorie: id_kategoria, nazwa_kategorii

Tabela oferty: id_oferty, tytul, kategoria

Te tabele są połączone kluczem obcym tzn w ofertach jest nr kategorii a nie jej nazwa.

Domyślam sie że pewnie trzeba jakieś podzapytanie stworzyć, proszę o wskazówki

1

musisz zrobić left joina:

SELECT 
    nazwa_kategorii
    , count(oferty.kategoria) as ile
from 
    kategorie
    left join  oferty on oferty.kategoria=kategorie.id_kategoria 
group by 
    kategoria;
0

Trochę lepiej bo wyświetliło mi jeszcze jedną kategorię z 0 ofertami. Tych kategorii mam 18, wyników jest 11.
obraz_2020-12-14_121215.png

obraz_2020-12-14_121252.pngscreenshot-20201214121342.png

2

cały mysql, pozwala grupować po polu którego nie ma w select...

group by kategoria; zmien na group by nazwa_kategorii

0

Zgadza się :) Dziękuję bardzo za pomoc. Zdrowia życzę dobry człowieku :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1