我想过滤距离在范围之间的事件
我使用10.6.15-MariaDB
DB结构类似于:
event_id, event_title, event_distances
1, event1, [{"order":0,"value":21}]
2, event2, [{"order":0,"value":8}]
3, event3, [{"order":0,"value":10}]
4, event4, [{"order":0,"value":5},{"order":1,"value":10},{"order":2,"value":21}]
字符串
我尝试查询:
SELECT events.event_title, event_distances
FROM events
WHERE
EXISTS (
SELECT 1
FROM JSON_TABLE(event_distances, '$[*]' COLUMNS (distance_value FLOAT PATH '$.value')) AS distances
WHERE distances.distance_value BETWEEN 9 AND 22
)
ORDER BY events.event_id ASC;
型
但是我得到了奇怪的返回,值在0和22之间,我得到了所有的事件(这是正确的,但是例如值在20和22之间,没有行返回。
也许有人可以帮助我找到我的问题查询?
2条答案
按热度按时间olmpazwi1#
不幸的是,这是一个目前尚未修复的错误MDEV-30623。
yzxexxkh2#
我已经使用JOIN解决了这个Bug
字符串
现在我看不出有什么问题.