sql query sub выберите на себе путаницу - PullRequest
1 голос
/ 11 февраля 2010

Я пытаюсь написать SQL-оператор, который возвращает плохие строки из моей таблицы. У меня есть таблица со строками:

Ключ | Дата | Индикатор
1 | 10.10.08 | SE
1 | 10/11/09 | CB
1 | 10.12.09 | CE
1 | 13.10.09 | TR
2 | 01.01.09 | SE
3 | 10.10.08 | SE
3 | 13.10.09 | CE
3 | 15.10.09 | SL

Поэтому я хочу получить все строки, в которых ключ имеет индикатор CE, и я хочу, чтобы строка была точно после даты.
EX. мой результат будет:

1 | 13.10.09 | TR
3 | 15.10.09 | SL

Моя проблема в том, что я не могу понять, как самостоятельно объединить таблицу с условиями, перечисленными выше. Пожалуйста, помогите с любыми предложениями.

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

Это должно дать вам все строки, даже если ключ CE встречается более одного раза для ключа.

1 голос
/ 11 февраля 2010

Вероятно, не очень быстро, но мое первое предположение.

select * from table where 'CE' = 
(select top(1) indicator from table 
    t1 where t1.date < table.date and t1.key = table.key order by date desc)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...