mam 3 tabele - pytanie(id, tresc, data), odpowiedzi(id, id_pytania, id_usera, data, tresc) i flagi odpowiedzi(id, id_odpowiedzi). Do flag odpowiedzi wstawiany jest rekord tylko wtedy, gdy użytkownik wykona poprawną odpowiedź.
Chcę teraz pobrać listę pytań + dołączyć do każdego pytania tabele ale tylko te, które nie maja flagi. Chodzi o to, że chcę w tym zapytaniu sprawdzić odpowiedzi na każde pytanie i pobrać tylko te, które mają dodaną flagę. Czyli każde pytanie w wynikach ma dodatkowo flagę, id_pytania, tresc_odpowiedzi. Oczywiście dla każdego użytkownika będzie inaczej bo z jego id.
Ułożyłem takie zapytanie lecz w przypadku, gdy najpierw jest zła, a później dobra odpowiedź to i tak pytanie się pojawia:/
  1. SELECT `q` . * , `qa`.`qa_id` , `qa`.`content` , `qa`.`date` AS `qa_date` , `f`.`id` AS `flag_id`
  2. FROM `exp_questions` AS `q`
  3. LEFT JOIN (
  4.  
  5. SELECT `id` AS `qa_id` , `question_id` AS `question_id` , `content` , `date`
  6. FROM `exp_questions_answers`
  7. WHERE `user_id` = '1'
  8. ORDER BY `date` DESC
  9. ) AS `qa` ON q.id = qa.question_id
  10. LEFT JOIN `exp_questions_answers_flags` AS `f` ON qa_id = f.answer_id
  11. WHERE (
  12. `status` = '1'
  13. )
  14. AND (
  15. `min_experience` <= '3'
  16. )
  17. AND (
  18. f.id IS NULL
  19. )
  20. ORDER BY `flag_id` ASC , `experience` ASC


Pogrzebałem i teraz mam już inny problem. mam zapytanie: