jaki warunek - nazwa niewystępująca w określonym czasie

jaki warunek - nazwa niewystępująca w określonym czasie
  • Rejestracja: dni
  • Ostatnio: dni
0

Proszę o pomoc w rozwiązaniu takiego problemu:
Mam tabelę, w której

nazwa data
aaa sierpień
bbb sierpień
ccc sierpień
aaa wrzesień
ccc wrzesień
ddd wrzesień
aaa pażdziernik
aaa listopad
Moje pytanie brzmi - jaki warunek stworzyć, aby w wyniku otrzymać nazwę która nie pojawiła się w ostatnich trzech miesiącach

Bardzo proszę o pomoc, gdyż sensownego nie przychodzi mi do głowy (zaćma jakaś czy coś)

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

W jakim języku?

J6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

MS Sql

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3902
1
Kopiuj
SELECT 
      NAZWA
FROM
     T
WHERE
    MIESIAC IN ('WRZESIEŃ','PAŹDZIERNIK','LISTOPAD')
GROUP BY 
    NAZWA
HAVING
    COUNT(DISTINCT MIESIAC) < 3
abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

Źle:

Kopiuj
select
  t1.nazwa
from
  tabela t1
  left join (select top 3 nazwa from tabela order by data desc) t2 on t1.nazwa = t2.nazwa
where
  t2.nazwa is null

dobrze:

Kopiuj
SELECT
  t1.nazwa
FROM
  table1 t1
  LEFT JOIN (
    select 
      distinct nazwa  
    from 
      table1 t1
      join (
        SELECT top 3 data FROM table1 ORDER BY DATA DESC
      ) t2 on t1.data = t2.data
  ) t2 ON t1.nazwa = t2.nazwa
WHERE
  t2.nazwa IS NULL

http://sqlfiddle.com/#!6/8f60f4/10

J6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dziękuję za pomysł rozwiązania problemu - działa

Pozdrawiam Janusz

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.