Выбрать МЕЖДУ значениями столбца

Я пытаюсь использовать 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 преобразует имена столбцов в фактические значения ... это странно, но может кто-нибудь меня просветить? Спасибо

6
задан Gonçalo Queirós 19 September 2010 в 18:04
поделиться