wydaje mi się, że dość klasyczny problem. Mam dwie tabele:
News (id, tresc)
1, 'bla bla bla'
2, 'bla bla bla bla bla'
Oceny_News(id, id_News, ocena)
1, 1, 1
2, 1, 4
3, 1, 5
chciałbym połączyć obe tebele i wypisać treść newsa wraz ze średnią oceną:
SELECT n.id, n.tresc, avg(o.ocena) AS srednia_ocena FROM News AS n JOIN Oceny_News AS o ON n.id = o.id_News GROUP BY n.id ORDER BY srednia_ocena ASC
zapytanie pisane z ręki, po to, aby pokazać o co mi chodzi. Problem polega na tym, że jeżeli jakiś news nie ma oceny (w tym wypadku news 2) to wtedy, nie zostanie wypisany. Jak zrobić, żeby wypisało mi tego newsa nwet wtedy, gdy nie ma żandej oceny, i wtedy z oceną np. 6(wychodząca poza skalę 1-5)
podobnie jest, gdy chcę wypisać newsa z ilością komentarzy- jeżeli nie ma komentarzy, to się nie wypisze.
Wiem, że można wykonać to polecenie za pomocą paru selektów, ale czy jest sens robić pojedyńczego selekta dla każdego newsa w bazie?