2016-02-24 1 views
0

Мне нужен SQL-запрос, который ищет столбец 2 по столбик 3, если найдена запись (точное соответствие или значение между значением столбец 2 и столбец 3) возвращают соответствующее значение из колонки 1SQL-запрос, который ищет два столбца (2 и 3), если запись найдена столбец отображения 3

, например

Column1  Column2  Column3 

Jane Doe 123456  123459 

John Doe 123460  123460 

Frank Doe 123461  123482 

если я типа в 123457 мне нужно, чтобы показать мне Jane Doe

если я типа в 123460 мне это нужно, чтобы показать мне John Doe

спасибо,

+0

выберите столбец1 из таблицы, где [столбец 2] <= [столбец 3] это не работает как ожидалось –

+0

Если вы добавите (Matt Doe, 123465, 123455), что тогда ожидается, если вы наберете 123460? – jarlh

ответ

2
SELECT 
    Column1 
FROM 
    TableName 
WHERE 
    123460 BETWEEN column2 AND column3; 
+0

спасибо, что это именно то, что мне нужно –

0

Вы написали какой-либо код для этого? Вы должны разместить свой код здесь, чтобы мы могли исправить его.

Во всяком случае, вы можете сделать это:

SELECT column1 
FROM tableName 
WHERE column2 >= VALUE 
AND column3 <= VALUE; 
0

Что-то вроде этого?

CREATE TABLE abc 
(
column1 varchar(20), 
column2 integer, 
column3 integer 
); 

insert into abc values ('Jane Doe', 123456, 123459); 

insert into abc values ('John Doe', 123460, 123460); 

insert into abc values ('Frank Doe', 123461, 123482); 

select column1 from abc where column2 <= 123457 AND column3 >= 123457; 
select column1 from abc where column2 <= 123460 AND column3 >= 123460; 
+0

Это не работает. Я продолжаю получать запись, найденную при запуске первого столбца выбора запроса1 из abc, где column2> = 123457 и column3 <= 1234567; –

1

Чтобы позаботиться о том случае, когда колонка3 < COLUMN2, сделать BETWEEN SYMMETRIC:

select Column1 
from tablename 
where 123460 between symmetric column2 and column3 

также возвращает строку (Мф Doe, 123465, 123455)!

Смежные вопросы