Generowane wartości 1 lub 0 w wyniku zapytania

0

Cześć :)

Mam mały problem z zapytaniem SQL - podejrzewam, że banalnie prosty ale nie mogę wpaść na rozwiązanie.
Mam tabelę z 2 kolumnami: pierwsza ID, druga LNK_ID i chciałbym uzyskać w wynikach zapytania wartość 1 w dodatkowej kolumnie jeśli dla danego ID do którego należy to LNK_ID istnieje co najmniej jedna inna wartość LNK_ID dla tego samego ID z założonego przedziału np. 30-55, jeśli nie istnieje to 0. Mam nadzieję, że wystarczająco jasno opisałem :)

Czyli mamy coś takiego:

ID LNK_ID
10 35
10 785
10 45895
10 29
11 99856
11 785
12 45895
12 40

A w wyniku chciałbym dostać coś takiego:

ID LNK_ID dodatkowa_kolumna
10 35 1
10 785 1
10 45895 1
10 29 1
11 99856 0
11 785 0
12 45895 1
12 40 1

Wymyśliłem coś takiego

select ID, LNK_ID, case when LNK_ID between 30 and 55 then 1 else 0 end
from tabela

ale oczywiście zwraca mi 1 tylko dla LNK_ID z założonego przedziału:

ID LNK_ID dodatkowa_kolumna
10 35 1
10 785 0
10 45895 0
10 29 0
11 99856 0
11 785 0
12 45895 0
12 40 1
1
select
 T.ID
 ,T.LNK_ID
,ISNULL(MARK,0) AS [DODATKOWA KOLUMNA]
FROM
    TABELA AS T
    LEFT JOIN (SELECT DISTINCT
                        ID
                        ,1 AS MARK
                   FROM
                        TABELA
                    WHERE
                          LNK_ID BETWEEN 30 AND 55
                  ) H ON H.ID=T.ID
0

Brakuje tylko przecinka w zapytaniu :) Dzięki wielkie :)

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