У меня есть следующие таблицы:UPDATE после INNER JOIN
Table1:
id name race_type start_time end_time
--- ---- --------- ---------- --------
111 Phelps Relay 2016-08-20 00:01:00 NULL
111 Phelps Relay NULL 2016-08-20 00:02:00
333 Lochte Butterfly 2016-08-20 00:05:00 NULL
333 Lochte Butterfly NULL 2016-08-20 00:06:00
Table2:
name race_type current_time qualifies
---- --------- ------------ ---------
Phelps Relay 2016-08-20 00:03:30
Lochte Butterfly 2016-08-20 00:05:30
Я использую следующий запрос, чтобы определить, является ли CURRENT_TIME для двух сделки в таблице 2, попадает в START_TIME и END_TIME из таблиц 1 записей в отношении каждого уникального спаривания идентификатора, имени и типа race_type.
SELECT * FROM (
SELECT id,name,race_type, MIN(start_time) AS start_time, MAX(end_time) AS end_time
FROM Table1
GROUP BY id
) AS results INNER JOIN table2 ON
results.name = Table2.name
AND results.type = Table2.type
AND Table2.current_time BETWEEN results.start_time AND results.end_time;
Как я могу изменить этот запрос, чтобы обновить параметр Table2.qualifies к истинным или ложным в зависимости от того, были результаты возвратилось или нет для двух сделок в Table2
Table2 должен выглядеть следующим образом после модификация:
name race_type current_time qualifies
---- --------- ------------ ---------
Phelps Relay 2016-08-20 00:03:30 0
Lochte Butterfly 2016-08-20 00:05:30 1
Я предполагаю, что мне нужно добавить UPDATE вместе с чем-то где-то?
Изменение базы данных не является вариантом. Некоторые из советов, которые помогут ответить на исходный вопрос, были бы приятными, вместо того, чтобы заполнять ценное пространство для ответов. – user3567212
@sumitbadaya Это похоже на вопрос, на который был дан ответ - который немного неудачен с точки зрения OP – Strawberry
Да, на вопрос был дан ответ, но @ user3567212 достаточно слеп, чтобы увидеть его и выбрать код в очень плохом путь. Хорошо, я сожалею о проекте, который находится под его рукой. лол –