Как узнать значение между двумя параметрами в Postgres SQL? - PullRequest
2 голосов
/ 06 февраля 2011

Например:

name | startyear | endyear 
jon    2003       2005
jake   1999       2002
blake  1997       1998
jake   1995       1996
jason  1993       1994

Есть ли способ вернуть Блейка?

Я хочу знать, кто был казначеем между двумя терминами Джейка.

Ответы [ 2 ]

2 голосов
/ 06 февраля 2011

Без дополнительной информации это лучшее предложение, которое я могу дать:

SELECT name 
FROM your_table
WHERE startyear > (SELECT min(endyear) FROM your_table WHERE name = 'jake')
  AND endyear   < (SELECT max(startyear) FROM your_table WHERE name = 'jake')
2 голосов
/ 06 февраля 2011

Вы можете использовать between, например:

select  yt.name
from    YourTable yt
where   TheYear between yt.startyear and yt.endyear

between включительно, так что это вернет Блейка для TheYear = 97 и 98.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...