-1
我有以下表格:更新INNER JOIN后
表1:
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
表2:
name race_type current_time qualifies
---- --------- ------------ ---------
Phelps Relay 2016-08-20 00:03:30
Lochte Butterfly 2016-08-20 00:05:30
我用下面的查询,以确定是否CURRENT_TIME两个交易在Table2中,相对于每个唯一ID配对,名称和race_type而言,属于Table1记录的START_TIME和END_TIME。
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参数更新为true或false基于是否有结果返回或不表2中
两个交易表2应该是这样的后修改:
name race_type current_time qualifies
---- --------- ------------ ---------
Phelps Relay 2016-08-20 00:03:30 0
Lochte Butterfly 2016-08-20 00:05:30 1
我猜我需要添加更新与存在的地方?
修改数据库不是一个选项。一些建议可以帮助回答原始问题,而不是填补有价值的答案空间。 – user3567212
@sumitbadaya它看起来确实已经回答了问题 - 从OP – Strawberry
的角度来看有点不幸这个问题已经得到解答,但是@ user3567212已经足够盲目地看到它并且选择在非常差的地方编码办法。那么我可怜他手中的项目。大声笑 –