у меня основную таблицу со следующей структурой:Inner присоединиться, где не
id | created_at | f1_id | f2_id
1 2016-01-23 11:41:21 5 7
2 2016-01-23 12:31:22 5 7
Тогда у меня есть таблица 1: п к предыдущей таблице:
main_id | value
1 aaa
1 bbb
2 ccc
А потом у меня есть таблица 1: 1 к предыдущему с подтверждениями:
f1_id | f2_id | value | confirmed_at
5 7 aaa 2016-01-25 21:41:51
9 9 ccc 2016-01-25 23:51:45
Теперь я хочу, чтобы получить все, не подтвержденные значения из диапазона дат от основной табл е. Как найти все недопустимые значения в диапазоне от основной таблицы?
f1 и f2 - 1: 1 таблицы, используемые в основной таблице, и подтвержденные значения.
SELECT *
FROM maintable m
INNER JOIN f1table f1 ON m.f1_id = f1.id
INNER JOIN f2table f2 ON m.f2_id = f2.id
INNER JOIN values v ON m.id = v.main_id
INNER JOIN confirmed c ON (v.value = c.value AND c.f1_id = m.f1_id AND c.f2_id = m.f2_id)
WHERE m.created_at BETWEEN '2016-01-20' AND '2016-01-24';
Этот SQL будет получать все подтвержденные значения ... но что относительно не подтверждено?
Ваш вопрос непонятен. Что именно вы хотите в своем запросе? –
Вы описываете 3 таблицы, но ваш примерный запрос содержит 5 таблиц: maintable, f1table, f2table, значения и подтвержденные.Пожалуйста, назовите таблицы по мере их описания, добавьте описания для отсутствующих таблиц и/или исправьте пример запроса, если необходимо. – Bampfer