abler98
@abler98
Software Engineer

Такой запрос можно составить?

Допустим есть таблица regions: x | y | z в ней хранятся записи такого вида: 12-20 | 0-30 | 14-25 то есть диапазоны чисел, чтоб было понятно, я записываю в базу данных две точки: A(12; 0; 14) и B(20; 30; 25), это у меня диагональ куба. И мне нужно сверить, находится ли точка O(5; 5; 5) в данном кубе. Я не думаю, что это можно в запросе выполнить, но хоть подскажите, как лучше это реализовать?
  • Вопрос задан
  • 2295 просмотров
Решения вопроса 1
zoonman
@zoonman
⋆⋆⋆⋆⋆
Исходя из условий задачи, структура вашей БД неверна.
Храните данные в виде:
Ax, Ay, Az, Bx, By, Bz.
А дальше примитивный
SELECT * FROM diagonal
WHERE Ox > Ax AND Ox < Bx AND Oy > Ay AND Oy < By AND Oz > Az AND Oz < Bz

Это если вы точно знаете, что ваша первая точка имеет меньшие значения координат.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы