Я пытаюсь использовать BETWEEN с именами столбцов вместо прямых значений, примерно так:
SELECT * FROM table WHERE column1 BETWEEN column2 AND column3;
Это возвращает что-то вроде 17 строк, но если я напишу:
SELECT * FROM table WHERE (column1 <= column2 AND column1 >= column3) OR (column1 >= column2 AND column1 <= column3)
получается около 600 строк .. ВЫБРАТЬ * ИЗ таблицы ГДЕ столбец1 МЕЖДУ столбцом2 И столбцом3; Это возвращает что-то вроде 17 строк ...
Я пытаюсь использовать BETWEEN с именами столбцов вместо прямых значений, примерно так:
SELECT * FROM table WHERE column1 BETWEEN column2 AND column3;
Это возвращает что-то вроде 17 строк, но если я напишу:
SELECT * FROM table WHERE (column1 <= column2 AND column1 >= column3) OR (column1 >= column2 AND column1 <= column3)
получается около 600 строк .. ВЫБРАТЬ * ИЗ таблицы ГДЕ столбец1 МЕЖДУ столбцом2 И столбцом3; Это возвращает что-то вроде 17 строк ...
Я пытаюсь использовать BETWEEN с именами столбцов вместо прямых значений, примерно так:
SELECT * FROM table WHERE column1 BETWEEN column2 AND column3;
Это возвращает что-то вроде 17 строк, но если я напишу:
SELECT * FROM table WHERE (column1 <= column2 AND column1 >= column3) OR (column1 >= column2 AND column1 <= column3)
получается около 600 строк .. В обоих случаях я получаю только строки, в которых значение column1 на самом деле является средним значением, но 2-й метод дает мне гораздо больше результатов, поэтому с 1-м методом что-то не так.
Я подозреваю, что проблема может быть в использовании предложения BETWEEN с именами столбцов , вместо чистых значений, и каким-то образом SQL преобразует имена столбцов в фактические значения ... это странно, но может кто-нибудь меня просветить? Спасибо