select *
from t1
inner join t2 on t1.link_field = t2.link_field and t2.some_field <> 0 and t2.other_field <> 0
мне нужно, для которых нет ни одного значения равного нулю
select * from t1 where id not in (select id_field from t2 where some_field = 0)
Вообще таблицы такие:
questions(id, text), answers(id, question_id, answer, text), history(id, user_id, answer_id, question_id, test_id), history_tests(id, date), нужно вывести все вопросы, на которые все существующие ответы верны.
Я не до конца понимаю в какой таблице что хранится, но что-то вроде этого:
select q.*
from questions q
inner join history h on h.question_id = q.id
where q.id not in (
select a.question_id
from answers a
inner join history h on a.id = h.answer_id and a.answer = 0
)