2013-12-03 2 views
-4

Для следующих:Как получить строки с последними нулями?

col1 col2 
1  null 
3  null 
5  100 
6  200 
10 null 
11 201 

Как получить самые последние col2 == NULL строки с помощью LINQ? Это будет только col1 = (1,3). Эти значения поступают из базы данных.

Набор результатов будет:

col1 col2 
1  null 
3  null 
+1

Какое определение имеет последнее? – Christos

+1

Итак, каков ваш желаемый результат, что вы пробовали? Что означает _ «только col1 = (1,3)» _? –

+0

Итак, как sql вы хотите это: http://sqlfiddle.com/#!6/439be/6/0? –

ответ

1

Я не так хорошо знакомы с Linq-To-Sql, так что я не уверен, если это поддерживается, но попробовать:

var query = db.TableName 
    .Where(r1 => r1.Col2 == null 
      && r1.Col1 < db.TableName 
        .Where(r2 => r2.Col1 != null) 
        .Select(r2 => r2.Col1) 
        .OrderBy(col1 => col1) 
        .FirstOrDefault()); 

По крайней мере, это должен быть эквивалент LINQ этого (работающего) sql-запроса: http://sqlfiddle.com/#!6/439be/6/0

Смежные вопросы