korel
Новичок
Интерполяция по двум таблицам
Необходимо сделать примерно такое, как указано здесь:
http://www.experts-exchange.com/Database/MySQL/Q_22140133.html
Но! Учитывая, что значение х - это не одно единичное значение, а список значений.
Не могу решить, как лучше быть. Есть три варианта:
1) выгрузить в пхп из одной таблицы значения х_real в массив, выгрузить всю таблицу из примера и средствами пхп найти интервал в который входит каждое значение x_real.
2) сделать 3 селекта, которые описаны в ответах: а) выгрузка значений-х_real б) выгрузка нижней границы интервала x1 (и соответствующий y1) в) выгрузка верхней границы интервала x2 (и соответствующий y2), а затем ещё пройти оператором цикла по каждому значению x_real и вычислить реальное значение y_real (получится всё тот же массив из реальных игриков).
3) добавить в таблицу ху ещё 2 поля (в xy будут теперь такие поля: x1, y1, x2, y2), в котором, если брать построчно, пары [x1, x2], будут принимать значения [10, 20] [20, 30] [30, 40] [40, 50] . Далее можно сделать такой селект select x.x_real, xy.x1, xy.x2, xy.y1, xy.y2 from x LEFT JOIN ху ON x_real beetween (xy.x1, xy.x2).
Как понимаете из такого сделать интерполяцию - пара пустяков.
Что посоветуете? Какой вариант больше подходит, если приоритетным параметром выбора является скорость обработки данных?
Необходимо сделать примерно такое, как указано здесь:
http://www.experts-exchange.com/Database/MySQL/Q_22140133.html
Но! Учитывая, что значение х - это не одно единичное значение, а список значений.
Не могу решить, как лучше быть. Есть три варианта:
1) выгрузить в пхп из одной таблицы значения х_real в массив, выгрузить всю таблицу из примера и средствами пхп найти интервал в который входит каждое значение x_real.
2) сделать 3 селекта, которые описаны в ответах: а) выгрузка значений-х_real б) выгрузка нижней границы интервала x1 (и соответствующий y1) в) выгрузка верхней границы интервала x2 (и соответствующий y2), а затем ещё пройти оператором цикла по каждому значению x_real и вычислить реальное значение y_real (получится всё тот же массив из реальных игриков).
3) добавить в таблицу ху ещё 2 поля (в xy будут теперь такие поля: x1, y1, x2, y2), в котором, если брать построчно, пары [x1, x2], будут принимать значения [10, 20] [20, 30] [30, 40] [40, 50] . Далее можно сделать такой селект select x.x_real, xy.x1, xy.x2, xy.y1, xy.y2 from x LEFT JOIN ху ON x_real beetween (xy.x1, xy.x2).
Как понимаете из такого сделать интерполяцию - пара пустяков.
Что посоветуете? Какой вариант больше подходит, если приоритетным параметром выбора является скорость обработки данных?