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 |