Задать вопрос
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) в данном кубе. Я не думаю, что это можно в запросе выполнить, но хоть подскажите, как лучше это реализовать?
  • Вопрос задан
  • 2296 просмотров
Подписаться 3 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽