SQL to dlamnie nadal mimo wszystko abstrakcja dlatego prosze o wyrozumiałość.
Mam dwie tabele, jedna z nich rc_leads przechowuje Lead'y czyli jakies tam rzeczy do zrobienia. Druga re_leads_users_views informacje o tym czy dany uzytkownik (po id) widział już danego Lead'a. W przypadku kiedy go obejrzy tworzony jest w drugiej tabeli rekord ktory zawiera: id usera, id leadu, viewed o wartości Y . Sprawdzanie wartości tego ostaniego pola doklejonego do tabeli rc_leads, pozwala na poziomie PHP znaczyc rekord z rc_leads jako przeczytany przez usera o danym user_id.
Moje zapytanie wyglada nastepująco:
SELECT rc_leads.* , rc_leads_users_views.viewed FROM rc_leads LEFT JOIN rc_leads_users_views ON rc_leads.id = rc_leads_users_views.lead_id WHERE rc_leads_users_views.user_id = '1' OR rc_leads_users_views.user_id IS NULL ORDER BY `rc_leads`.`open` DESC
W obecnej chwili dziala to tak ze dla jednego usera w systemie jest ok. Jezeli zozstal dodany rekord w rc_eads_user_views z innym user_id niz to w zapytaniu. To ten rekord nie jest wyswietlany bo nie jest spełniony warunek
WHERE rc_leads_users_views.user_id = '1' OR rc_leads_users_views.user_id IS NULL
Bo user_id jest i jest inne niz podane w zapytaniu.
Jednym słowem jak zrobic tak ze dla danego usera wyswietla wszytkie leady + pole viewed z wartością dla danego user_id jesli jest czyli Y, bądź puste jezeli nie ma w rc_leads_users_views wpisu dla podanego w zapytaniu user_id i lead_id.
dzieki za ew pomoc i pozdrawiam.