У меня есть две колонки: amountFrom
, amountTo
в таблице shipping
Избегайте пересечения диапазона веса МЕЖДУ, с двумя колоннами? MySQL
Допустим, у меня есть эти строки данных:
amountFrom | amountTo
-----------------------
0 15
16 30
31 50
Теперь я хотел бы добавить эти три:
amountFrom | amountTo
-----------------------
15 22 (should fail, already exist (crosses range))
18 25 (should fail, already exist)
55 76 (should pass)
Как могу ли я сделать правильный SQL-запрос, который будет выполняться для каждой строки, которую я хотел бы вставить, которая проверит, доступен ли «диапазон»?
Пример того, что я пытался
SELECT id FROM shipping WHERE amountFrom >= 15 AND amountTo <= 22
Над запрос не возвращает ни одной строки, которые он должен (если это был правильный запрос), так как мы не хотим, чтобы сделать новую строку с 15 и 22, как это будет перекрестные существующие диапазоны веса
Похоже, вам нужен диапазон для * каждой колонки. – Kermit
Итак, в основном вы спрашиваете, как проверить, перекрываются ли два интервала? http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap –