SQL- warunek sprawdzający zakresy

0

Cześć.
Mam tabelę z dwoma kolumnami- od i do. W kodzie mam inne dwie wartości. Czy jest jakiś szybki sposób na zapytanie, które zwróci mi rekordy, gdzie wartości w kodzie mają wspólny zakres (choćby częściowo) pomiędzy wartościami od i do z tabeli? Przykładowo tabela wygląda tak:

od do
1 3
5 7
8 9

Natomiast moje wartości wynoszą 2 i 7. W takim przypadku zwróci rekord pierwszy i drugi.

0

select kol_1, kol_2 from tabela where kol_1> liczba and kol_2< liczba o coś takiego Ci chodzi?

0

Częściowo, ponieważ do sprawdzenia są dwie liczby, a zakresy mogą się pokrywać w różny sposób, niekoniecznie jeden musi być zawarty w drugim, mogą się pokrywać tylko częściowo.

0
SELECT
    OD
    ,DO
FROM
     tabela
WHERE
    2 BETWEEN od AND do
    or 7 BETWEEN od AND do
0

W between chyba trzeba jako pierwszą wartość podawać nazwę kolumny, a te dwie nie są w tabeli.

0

Chyba jednak można :) Dzięki.

1

@Pnczo to nie zadziała jeśli będą dziury w przedziałach, np

3-4
6-7

zwróci to jako ciągły przedział

0

Poprawka po poście @abrakadaber:

SELECT
    OD
    ,DO
FROM
     tabela
WHERE
    2 BETWEEN od AND do
    OR 7 BETWEEN od AND do
    OR od BETWEEN 2 AND 7
    OR do BETWEEN 2 AND 7
0

to też nie zadziała - przedziałów może być wiele nie tylko dwa. Nie napisałeś nic konkretnego więc jedyne co mogę napisać to https://www.google.pl/search?q=sql+continuity+range

0

masz dane w tabeli

od do
1  3
3  6
5  10
8  10
10 14
14 20
13 22
24 28
25 28
27 30

i przy zapytaniu o ciągły zakres od 4 do 28 zwróci

OD DO
 3  6
 5 10
 8 10
10 14
14 20
13 22
24 28
25 28
27 30

uważasz, że wynik jest poprawny?

1 użytkowników online, w tym zalogowanych: 0, gości: 1