Czesc, potrzebuje pomocy w budowowie bazy danych, a wlasciwie w zapytaniu. Zapytanie robie dla 3 tabel, a tutaj o to te tabelki
Idac od gory tabelki to posts,recommends,users.
Jaki efekt chce osiagnac? A taki, ze dla kazdgo poszczegolnego usera wyswietli sie lista postow polaczona relacja z tabela users oraz z tabela recommends aby uzyskac kolumny i wiersze z danym postem, jaki user wykonal ten post, czy dany jeser dla ktorego sprawdzamy moze jeszcze rekomendowac dany post oraz ilosc recommendow ile ma ten post.
Takie zapytanie zrobilem z tym ze wyswietla mi sie lista tylko jesli dany user takie posty rekomenduje, a potrzebuje wyswietlic cala liste postow, nawet te ktore nie rekomenduje.
Moje zapytanie wyglada w nastepujacy sposob.
SELECT recommends.topic_id,posts.topic ,users.username,'0' as CANRECOMMEND,COUNT(recommends.topic_id) AS recommendsN
FROM recommends
JOIN posts ON recommends.post_id = posts.id
JOIN users ON posts.creator = users.id
WHERE posts.idIN(SELECT posts.id FROM recommends JOIN psts ON recommends.post_id = posts.id JOIN users ON posts.creator = users.id WHERE recommends.user_id = jakiesID)
GROUP BY posts.id
Zapytanie dziala pieknie dla tych uzytkownikow ktorzy rekomenduja jakies posty, ale nie tego oczekuje. Poniewaz brakuje calej listy postow wraz z tymi samymi kolumnami co tutaj, z tym wtedy recommendsN bedzie automatycznie ustawione na "1".