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

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

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

Похожие вопросы